@@ -2,123 +2,123 @@ |
||
| 2 | 2 | // This is a SPIP language file -- Ceci est un fichier langue de SPIP |
| 3 | 3 | // Fichier source, a modifier dans https://git.spip.net/spip/spip.git |
| 4 | 4 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 5 | - return; |
|
| 5 | + return; |
|
| 6 | 6 | } |
| 7 | 7 | |
| 8 | 8 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 9 | 9 | |
| 10 | - // A |
|
| 11 | - 'accueil_site' => 'Accueil', |
|
| 12 | - 'article' => 'Article', |
|
| 13 | - 'articles' => 'Articles', |
|
| 14 | - 'articles_auteur' => 'Articles de cet auteur', |
|
| 15 | - 'articles_populaires' => 'Articles les plus populaires', |
|
| 16 | - 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 17 | - 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 18 | - 'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse', |
|
| 19 | - 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 20 | - 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 21 | - 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 22 | - 'auteur' => 'Auteur', |
|
| 23 | - 'autres' => 'Autres', |
|
| 24 | - 'autres_breves' => 'Autres brèves', |
|
| 25 | - 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 26 | - 'autres_sites' => 'Autres sites', |
|
| 27 | - |
|
| 28 | - // B |
|
| 29 | - 'bonjour' => 'Bonjour', |
|
| 30 | - |
|
| 31 | - // C |
|
| 32 | - 'commenter_site' => 'Commenter ce site', |
|
| 33 | - 'contact' => 'Contact', |
|
| 34 | - 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 35 | - |
|
| 36 | - // D |
|
| 37 | - 'date' => 'Date', |
|
| 38 | - 'dernier_ajout' => 'Dernier ajout', |
|
| 39 | - 'dernieres_breves' => 'Dernières brèves', |
|
| 40 | - 'derniers_articles' => 'Derniers articles', |
|
| 41 | - 'derniers_commentaires' => 'Derniers commentaires', |
|
| 42 | - 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 43 | - |
|
| 44 | - // E |
|
| 45 | - 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 46 | - 'en_reponse' => 'En réponse à :', |
|
| 47 | - 'en_resume' => 'En résumé', |
|
| 48 | - 'envoyer_message' => 'Envoyer un message', |
|
| 49 | - 'espace_prive' => 'Espace privé', |
|
| 50 | - |
|
| 51 | - // F |
|
| 52 | - 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 53 | - |
|
| 54 | - // H |
|
| 55 | - 'hierarchie_site' => 'Hiérarchie du site', |
|
| 56 | - |
|
| 57 | - // J |
|
| 58 | - 'jours' => 'jours', |
|
| 59 | - |
|
| 60 | - // L |
|
| 61 | - 'lien_connecter' => 'Se connecter', |
|
| 62 | - |
|
| 63 | - // M |
|
| 64 | - 'meme_auteur' => 'Du même auteur', |
|
| 65 | - 'meme_rubrique' => 'Dans la même rubrique', |
|
| 66 | - 'memes_auteurs' => 'Des mêmes auteurs', |
|
| 67 | - 'message' => 'Message', |
|
| 68 | - 'messages_forum' => 'Messages', |
|
| 69 | - 'messages_recents' => 'Messages de forums les plus récents', |
|
| 70 | - 'mots_clef' => 'Mot-clé', |
|
| 71 | - 'mots_clefs' => 'Mots-clés', |
|
| 72 | - 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 73 | - |
|
| 74 | - // N |
|
| 75 | - 'navigation' => 'Navigation', |
|
| 76 | - 'nom' => 'Nom', |
|
| 77 | - 'nouveautes' => 'Les nouveautés', |
|
| 78 | - 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 79 | - 'nouveaux_articles' => 'Nouveaux articles', |
|
| 80 | - 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 81 | - |
|
| 82 | - // P |
|
| 83 | - 'page_precedente' => 'page précédente', |
|
| 84 | - 'page_suivante' => 'page suivante', |
|
| 85 | - 'par_auteur' => 'par ', |
|
| 86 | - '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.', |
|
| 87 | - 'plan_site' => 'Plan du site', |
|
| 88 | - 'popularite' => 'Popularité', |
|
| 89 | - 'poster_message' => 'Poster un message', |
|
| 90 | - 'proposer_site' => 'Vous pouvez proposer un site à ajouter dans cette rubrique :', |
|
| 91 | - |
|
| 92 | - // R |
|
| 93 | - 'repondre_article' => 'Répondre à cet article', |
|
| 94 | - 'repondre_breve' => 'Répondre à cette brève', |
|
| 95 | - 'resultats_recherche' => 'Résultats de la recherche', |
|
| 96 | - 'retour_debut_forums' => 'Retour au début des forums', |
|
| 97 | - 'rss_abonnement' => 'Copiez l’URL suivante dans votre agrégateur :', |
|
| 98 | - 'rss_abonnement_titre' => 'S’abonner', |
|
| 99 | - 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 100 | - '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.', |
|
| 101 | - 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 102 | - 'rubrique' => 'Rubrique', |
|
| 103 | - 'rubriques' => 'Rubriques', |
|
| 104 | - |
|
| 105 | - // S |
|
| 106 | - 'signatures_petition' => 'Signatures', |
|
| 107 | - 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 108 | - 'sites_web' => 'Sites Web', |
|
| 109 | - 'sous_rubriques' => 'Sous-rubriques', |
|
| 110 | - 'spam' => 'Spam', |
|
| 111 | - 'suite' => 'suite', |
|
| 112 | - 'sur_web' => 'Sur le Web', |
|
| 113 | - 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 114 | - 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 115 | - |
|
| 116 | - // T |
|
| 117 | - 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 118 | - 'texte_lettre_information_2' => 'Cette lettre recense les nouveautés publiées depuis', |
|
| 119 | - |
|
| 120 | - // V |
|
| 121 | - 'ver_imprimer' => 'Version à imprimer', |
|
| 122 | - 'voir_en_ligne' => 'Voir en ligne', |
|
| 123 | - 'voir_squelette' => 'voir le squelette de cette page' |
|
| 10 | + // A |
|
| 11 | + 'accueil_site' => 'Accueil', |
|
| 12 | + 'article' => 'Article', |
|
| 13 | + 'articles' => 'Articles', |
|
| 14 | + 'articles_auteur' => 'Articles de cet auteur', |
|
| 15 | + 'articles_populaires' => 'Articles les plus populaires', |
|
| 16 | + 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 17 | + 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 18 | + 'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse', |
|
| 19 | + 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 20 | + 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 21 | + 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 22 | + 'auteur' => 'Auteur', |
|
| 23 | + 'autres' => 'Autres', |
|
| 24 | + 'autres_breves' => 'Autres brèves', |
|
| 25 | + 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 26 | + 'autres_sites' => 'Autres sites', |
|
| 27 | + |
|
| 28 | + // B |
|
| 29 | + 'bonjour' => 'Bonjour', |
|
| 30 | + |
|
| 31 | + // C |
|
| 32 | + 'commenter_site' => 'Commenter ce site', |
|
| 33 | + 'contact' => 'Contact', |
|
| 34 | + 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 35 | + |
|
| 36 | + // D |
|
| 37 | + 'date' => 'Date', |
|
| 38 | + 'dernier_ajout' => 'Dernier ajout', |
|
| 39 | + 'dernieres_breves' => 'Dernières brèves', |
|
| 40 | + 'derniers_articles' => 'Derniers articles', |
|
| 41 | + 'derniers_commentaires' => 'Derniers commentaires', |
|
| 42 | + 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 43 | + |
|
| 44 | + // E |
|
| 45 | + 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 46 | + 'en_reponse' => 'En réponse à :', |
|
| 47 | + 'en_resume' => 'En résumé', |
|
| 48 | + 'envoyer_message' => 'Envoyer un message', |
|
| 49 | + 'espace_prive' => 'Espace privé', |
|
| 50 | + |
|
| 51 | + // F |
|
| 52 | + 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 53 | + |
|
| 54 | + // H |
|
| 55 | + 'hierarchie_site' => 'Hiérarchie du site', |
|
| 56 | + |
|
| 57 | + // J |
|
| 58 | + 'jours' => 'jours', |
|
| 59 | + |
|
| 60 | + // L |
|
| 61 | + 'lien_connecter' => 'Se connecter', |
|
| 62 | + |
|
| 63 | + // M |
|
| 64 | + 'meme_auteur' => 'Du même auteur', |
|
| 65 | + 'meme_rubrique' => 'Dans la même rubrique', |
|
| 66 | + 'memes_auteurs' => 'Des mêmes auteurs', |
|
| 67 | + 'message' => 'Message', |
|
| 68 | + 'messages_forum' => 'Messages', |
|
| 69 | + 'messages_recents' => 'Messages de forums les plus récents', |
|
| 70 | + 'mots_clef' => 'Mot-clé', |
|
| 71 | + 'mots_clefs' => 'Mots-clés', |
|
| 72 | + 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 73 | + |
|
| 74 | + // N |
|
| 75 | + 'navigation' => 'Navigation', |
|
| 76 | + 'nom' => 'Nom', |
|
| 77 | + 'nouveautes' => 'Les nouveautés', |
|
| 78 | + 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 79 | + 'nouveaux_articles' => 'Nouveaux articles', |
|
| 80 | + 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 81 | + |
|
| 82 | + // P |
|
| 83 | + 'page_precedente' => 'page précédente', |
|
| 84 | + 'page_suivante' => 'page suivante', |
|
| 85 | + 'par_auteur' => 'par ', |
|
| 86 | + '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.', |
|
| 87 | + 'plan_site' => 'Plan du site', |
|
| 88 | + 'popularite' => 'Popularité', |
|
| 89 | + 'poster_message' => 'Poster un message', |
|
| 90 | + 'proposer_site' => 'Vous pouvez proposer un site à ajouter dans cette rubrique :', |
|
| 91 | + |
|
| 92 | + // R |
|
| 93 | + 'repondre_article' => 'Répondre à cet article', |
|
| 94 | + 'repondre_breve' => 'Répondre à cette brève', |
|
| 95 | + 'resultats_recherche' => 'Résultats de la recherche', |
|
| 96 | + 'retour_debut_forums' => 'Retour au début des forums', |
|
| 97 | + 'rss_abonnement' => 'Copiez l’URL suivante dans votre agrégateur :', |
|
| 98 | + 'rss_abonnement_titre' => 'S’abonner', |
|
| 99 | + 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 100 | + '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.', |
|
| 101 | + 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 102 | + 'rubrique' => 'Rubrique', |
|
| 103 | + 'rubriques' => 'Rubriques', |
|
| 104 | + |
|
| 105 | + // S |
|
| 106 | + 'signatures_petition' => 'Signatures', |
|
| 107 | + 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 108 | + 'sites_web' => 'Sites Web', |
|
| 109 | + 'sous_rubriques' => 'Sous-rubriques', |
|
| 110 | + 'spam' => 'Spam', |
|
| 111 | + 'suite' => 'suite', |
|
| 112 | + 'sur_web' => 'Sur le Web', |
|
| 113 | + 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 114 | + 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 115 | + |
|
| 116 | + // T |
|
| 117 | + 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 118 | + 'texte_lettre_information_2' => 'Cette lettre recense les nouveautés publiées depuis', |
|
| 119 | + |
|
| 120 | + // V |
|
| 121 | + 'ver_imprimer' => 'Version à imprimer', |
|
| 122 | + 'voir_en_ligne' => 'Voir en ligne', |
|
| 123 | + 'voir_squelette' => 'voir le squelette de cette page' |
|
| 124 | 124 | ); |
@@ -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' => 'Article', |
|
| 15 | - 'articles' => 'Articles', |
|
| 16 | - 'articles_auteur' => 'Articles by this author', |
|
| 17 | - 'articles_populaires' => 'Most popular articles', |
|
| 18 | - 'articles_rubrique' => 'Articles in this section', |
|
| 19 | - 'aucun_article' => 'No articles here', |
|
| 20 | - 'aucun_auteur' => 'No authors here', |
|
| 21 | - 'aucun_site' => 'No links here', |
|
| 22 | - 'aucune_breve' => 'No news items here', |
|
| 23 | - 'aucune_rubrique' => 'No sections here', |
|
| 24 | - 'auteur' => 'Author', |
|
| 25 | - 'autres' => 'Others', |
|
| 26 | - 'autres_breves' => 'Other news', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Other groups of keywords', |
|
| 28 | - 'autres_sites' => 'Other websites', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Hello', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Comment on this site', |
|
| 35 | - 'contact' => 'Contact', |
|
| 36 | - 'copie_document_impossible' => 'Impossible to copy this document', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Date', |
|
| 40 | - 'dernier_ajout' => 'Latest update', |
|
| 41 | - 'dernieres_breves' => 'Latest news', |
|
| 42 | - 'derniers_articles' => 'Latest articles', |
|
| 43 | - 'derniers_commentaires' => 'Latest comments', |
|
| 44 | - 'derniers_messages_forum' => 'Latest forum posts', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Text mode only', |
|
| 48 | - 'en_reponse' => 'Replying to:', |
|
| 49 | - 'en_resume' => 'Summary', |
|
| 50 | - 'envoyer_message' => 'Send a message', |
|
| 51 | - 'espace_prive' => 'Private area', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Valid formats: @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Site map', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'days', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Log in', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'By the same author', |
|
| 67 | - 'meme_rubrique' => 'Also in this section', |
|
| 68 | - 'memes_auteurs' => 'By the same authors', |
|
| 69 | - 'message' => 'Message', |
|
| 70 | - 'messages_forum' => 'Forum posts', |
|
| 71 | - 'messages_recents' => 'Most recent forum posts', |
|
| 72 | - 'mots_clef' => 'Keyword', |
|
| 73 | - 'mots_clefs' => 'Keywords', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Other keywords in this group', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Browsing', |
|
| 78 | - 'nom' => 'Name', |
|
| 79 | - 'nouveautes' => 'What’s new', |
|
| 80 | - 'nouveautes_web' => 'What’s new on the Web', |
|
| 81 | - 'nouveaux_articles' => 'New articles', |
|
| 82 | - 'nouvelles_breves' => 'Latest news items', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'previous page', |
|
| 86 | - 'page_suivante' => 'next page', |
|
| 87 | - 'par_auteur' => 'by ', |
|
| 88 | - 'participer_site' => 'You can take active part in this website and write your own articles by signing up here. You will receive an email with your account information for the private area of the site.', |
|
| 89 | - 'plan_site' => 'Site Map', |
|
| 90 | - 'popularite' => 'Popularity', |
|
| 91 | - 'poster_message' => 'Post a message', |
|
| 92 | - 'proposer_site' => 'You can suggest a website for inclusion in this section:', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Comment on this article', |
|
| 96 | - 'repondre_breve' => 'Comment on this news item', |
|
| 97 | - 'resultats_recherche' => 'Search results', |
|
| 98 | - 'retour_debut_forums' => 'Back to forum top', |
|
| 99 | - 'rss_abonnement' => 'Simply copy the following URL into your aggregator:', |
|
| 100 | - 'rss_abonnement_titre' => 'Subscribe', |
|
| 101 | - 'rss_abonnement_titre_page' => 'Subscribe to', |
|
| 102 | - 'rss_explication' => 'An RSS thread collects information about a site’s update. It delivers the content of the tickets or the comments or an extract of them, as well as a link to the full versions et some other information. This thread is to be read by an RSS aggregator.', |
|
| 103 | - 'rss_explication_titre' => 'What is an RSS feed?', |
|
| 104 | - 'rubrique' => 'Section', |
|
| 105 | - 'rubriques' => 'Sections', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Signatures', |
|
| 109 | - 'site_realise_avec_spip' => 'Site powered by SPIP', |
|
| 110 | - 'sites_web' => 'Websites', |
|
| 111 | - 'sous_rubriques' => 'Subsections', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'continue', |
|
| 114 | - 'sur_web' => 'Around the Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Subscribe to this section', |
|
| 116 | - 'syndiquer_site' => 'Subscribe to the whole site', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Here is the site newsletter', |
|
| 120 | - 'texte_lettre_information_2' => 'This site contains news items published since', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Printable version', |
|
| 124 | - 'voir_en_ligne' => 'View online', |
|
| 125 | - 'voir_squelette' => 'show the template of this page' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Home', |
|
| 14 | + 'article' => 'Article', |
|
| 15 | + 'articles' => 'Articles', |
|
| 16 | + 'articles_auteur' => 'Articles by this author', |
|
| 17 | + 'articles_populaires' => 'Most popular articles', |
|
| 18 | + 'articles_rubrique' => 'Articles in this section', |
|
| 19 | + 'aucun_article' => 'No articles here', |
|
| 20 | + 'aucun_auteur' => 'No authors here', |
|
| 21 | + 'aucun_site' => 'No links here', |
|
| 22 | + 'aucune_breve' => 'No news items here', |
|
| 23 | + 'aucune_rubrique' => 'No sections here', |
|
| 24 | + 'auteur' => 'Author', |
|
| 25 | + 'autres' => 'Others', |
|
| 26 | + 'autres_breves' => 'Other news', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Other groups of keywords', |
|
| 28 | + 'autres_sites' => 'Other websites', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Hello', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Comment on this site', |
|
| 35 | + 'contact' => 'Contact', |
|
| 36 | + 'copie_document_impossible' => 'Impossible to copy this document', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Date', |
|
| 40 | + 'dernier_ajout' => 'Latest update', |
|
| 41 | + 'dernieres_breves' => 'Latest news', |
|
| 42 | + 'derniers_articles' => 'Latest articles', |
|
| 43 | + 'derniers_commentaires' => 'Latest comments', |
|
| 44 | + 'derniers_messages_forum' => 'Latest forum posts', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Text mode only', |
|
| 48 | + 'en_reponse' => 'Replying to:', |
|
| 49 | + 'en_resume' => 'Summary', |
|
| 50 | + 'envoyer_message' => 'Send a message', |
|
| 51 | + 'espace_prive' => 'Private area', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Valid formats: @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Site map', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'days', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Log in', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'By the same author', |
|
| 67 | + 'meme_rubrique' => 'Also in this section', |
|
| 68 | + 'memes_auteurs' => 'By the same authors', |
|
| 69 | + 'message' => 'Message', |
|
| 70 | + 'messages_forum' => 'Forum posts', |
|
| 71 | + 'messages_recents' => 'Most recent forum posts', |
|
| 72 | + 'mots_clef' => 'Keyword', |
|
| 73 | + 'mots_clefs' => 'Keywords', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Other keywords in this group', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Browsing', |
|
| 78 | + 'nom' => 'Name', |
|
| 79 | + 'nouveautes' => 'What’s new', |
|
| 80 | + 'nouveautes_web' => 'What’s new on the Web', |
|
| 81 | + 'nouveaux_articles' => 'New articles', |
|
| 82 | + 'nouvelles_breves' => 'Latest news items', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'previous page', |
|
| 86 | + 'page_suivante' => 'next page', |
|
| 87 | + 'par_auteur' => 'by ', |
|
| 88 | + 'participer_site' => 'You can take active part in this website and write your own articles by signing up here. You will receive an email with your account information for the private area of the site.', |
|
| 89 | + 'plan_site' => 'Site Map', |
|
| 90 | + 'popularite' => 'Popularity', |
|
| 91 | + 'poster_message' => 'Post a message', |
|
| 92 | + 'proposer_site' => 'You can suggest a website for inclusion in this section:', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Comment on this article', |
|
| 96 | + 'repondre_breve' => 'Comment on this news item', |
|
| 97 | + 'resultats_recherche' => 'Search results', |
|
| 98 | + 'retour_debut_forums' => 'Back to forum top', |
|
| 99 | + 'rss_abonnement' => 'Simply copy the following URL into your aggregator:', |
|
| 100 | + 'rss_abonnement_titre' => 'Subscribe', |
|
| 101 | + 'rss_abonnement_titre_page' => 'Subscribe to', |
|
| 102 | + 'rss_explication' => 'An RSS thread collects information about a site’s update. It delivers the content of the tickets or the comments or an extract of them, as well as a link to the full versions et some other information. This thread is to be read by an RSS aggregator.', |
|
| 103 | + 'rss_explication_titre' => 'What is an RSS feed?', |
|
| 104 | + 'rubrique' => 'Section', |
|
| 105 | + 'rubriques' => 'Sections', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Signatures', |
|
| 109 | + 'site_realise_avec_spip' => 'Site powered by SPIP', |
|
| 110 | + 'sites_web' => 'Websites', |
|
| 111 | + 'sous_rubriques' => 'Subsections', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'continue', |
|
| 114 | + 'sur_web' => 'Around the Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Subscribe to this section', |
|
| 116 | + 'syndiquer_site' => 'Subscribe to the whole site', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Here is the site newsletter', |
|
| 120 | + 'texte_lettre_information_2' => 'This site contains news items published since', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Printable version', |
|
| 124 | + 'voir_en_ligne' => 'View online', |
|
| 125 | + 'voir_squelette' => 'show the template of this page' |
|
| 126 | 126 | ); |
@@ -4,245 +4,245 @@ 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 | - 'access_interface_graphique' => 'عودة إلى الواجهة الرسومية الكاملة', |
|
| 14 | - 'access_mode_texte' => 'عرض الواجهة النصية المبسّطة', |
|
| 15 | - 'admin_debug' => 'اكتشاف الأخطاء', |
|
| 16 | - 'admin_modifier_article' => 'تعديل هذا المقال', |
|
| 17 | - 'admin_modifier_auteur' => 'تغيير هذا المؤلف', |
|
| 18 | - 'admin_modifier_breve' => 'تعديل هذا الخبر', |
|
| 19 | - 'admin_modifier_mot' => 'تغيير هذا المفتاح', |
|
| 20 | - 'admin_modifier_rubrique' => 'تعديل هذا القسم', |
|
| 21 | - 'admin_recalculer' => 'إعادة تحديث هذه الصفحة', |
|
| 22 | - 'afficher_calendrier' => 'عرض الروزنامة', |
|
| 23 | - 'afficher_trad' => 'عرض الترجمات', |
|
| 24 | - 'alerte_maj_impossible' => '<b>تحذير!</b> ترقية قاعدة SQL إلى الإصدار @version@ متعذر. قد يكون السبب مشكلة في حقل التعديل. الرجاء الاتصال بمضيف موقعك.', |
|
| 25 | - 'alerte_modif_info_concourante' => 'تحذير:هذه المعلومة عُدلت في مكان آخر. القيمة الحالية هي:', |
|
| 26 | - 'analyse_xml' => 'تحليل XML', |
|
| 27 | - 'annuler' => 'إلغاء', |
|
| 28 | - 'antispam_champ_vide' => 'الرجاء الإبقاء على هذا الحقل فارغاً:', |
|
| 29 | - 'articles_recents' => 'أحدث المقالات', |
|
| 30 | - 'attention_champ_mini_nb_caractères' => 'تنبيه! @nb@ حروف على الأقل', |
|
| 31 | - 'avis_1_erreur_saisie' => 'هناك خطأ في إدخالك، الرجاء التدقيق في المعلومات.', |
|
| 32 | - 'avis_archive_incorrect' => 'ملف الأرشيف ليس ملف SPIP', |
|
| 33 | - 'avis_archive_invalide' => 'ملف الأرشيف غير صالح', |
|
| 34 | - 'avis_attention' => 'تحذير!', |
|
| 35 | - 'avis_champ_incorrect_type_objet' => 'إسم حقل @name@ غير صالح لنوع العنصر @type@', |
|
| 36 | - 'avis_colonne_inexistante' => 'العمود @col@ غير موجود', |
|
| 37 | - 'avis_erreur' => 'خطأ: انظر أدناه', |
|
| 38 | - 'avis_erreur_connexion' => 'خطأ اتصال', |
|
| 39 | - 'avis_erreur_cookie' => 'مشكلة في الكعكة', |
|
| 40 | - 'avis_erreur_fonction_contexte' => 'خطأ برمجة. لا يجب المناداة على هذه الوظيفة في هذا السياق.', |
|
| 41 | - 'avis_erreur_mysql' => 'خطأ SQL ', |
|
| 42 | - 'avis_erreur_sauvegarde' => 'خطأ في النسخة الاحتياطية (@type@ @id_objet@)!', |
|
| 43 | - 'avis_erreur_visiteur' => 'هناك مشكلة في الدخول إلى المجال الخاص', |
|
| 44 | - 'avis_nb_erreurs_saisie' => 'هناك @nb@ خطأ في إدخالك، الرجاء التدقيق في المعلومات.', |
|
| 12 | + // A |
|
| 13 | + 'access_interface_graphique' => 'عودة إلى الواجهة الرسومية الكاملة', |
|
| 14 | + 'access_mode_texte' => 'عرض الواجهة النصية المبسّطة', |
|
| 15 | + 'admin_debug' => 'اكتشاف الأخطاء', |
|
| 16 | + 'admin_modifier_article' => 'تعديل هذا المقال', |
|
| 17 | + 'admin_modifier_auteur' => 'تغيير هذا المؤلف', |
|
| 18 | + 'admin_modifier_breve' => 'تعديل هذا الخبر', |
|
| 19 | + 'admin_modifier_mot' => 'تغيير هذا المفتاح', |
|
| 20 | + 'admin_modifier_rubrique' => 'تعديل هذا القسم', |
|
| 21 | + 'admin_recalculer' => 'إعادة تحديث هذه الصفحة', |
|
| 22 | + 'afficher_calendrier' => 'عرض الروزنامة', |
|
| 23 | + 'afficher_trad' => 'عرض الترجمات', |
|
| 24 | + 'alerte_maj_impossible' => '<b>تحذير!</b> ترقية قاعدة SQL إلى الإصدار @version@ متعذر. قد يكون السبب مشكلة في حقل التعديل. الرجاء الاتصال بمضيف موقعك.', |
|
| 25 | + 'alerte_modif_info_concourante' => 'تحذير:هذه المعلومة عُدلت في مكان آخر. القيمة الحالية هي:', |
|
| 26 | + 'analyse_xml' => 'تحليل XML', |
|
| 27 | + 'annuler' => 'إلغاء', |
|
| 28 | + 'antispam_champ_vide' => 'الرجاء الإبقاء على هذا الحقل فارغاً:', |
|
| 29 | + 'articles_recents' => 'أحدث المقالات', |
|
| 30 | + 'attention_champ_mini_nb_caractères' => 'تنبيه! @nb@ حروف على الأقل', |
|
| 31 | + 'avis_1_erreur_saisie' => 'هناك خطأ في إدخالك، الرجاء التدقيق في المعلومات.', |
|
| 32 | + 'avis_archive_incorrect' => 'ملف الأرشيف ليس ملف SPIP', |
|
| 33 | + 'avis_archive_invalide' => 'ملف الأرشيف غير صالح', |
|
| 34 | + 'avis_attention' => 'تحذير!', |
|
| 35 | + 'avis_champ_incorrect_type_objet' => 'إسم حقل @name@ غير صالح لنوع العنصر @type@', |
|
| 36 | + 'avis_colonne_inexistante' => 'العمود @col@ غير موجود', |
|
| 37 | + 'avis_erreur' => 'خطأ: انظر أدناه', |
|
| 38 | + 'avis_erreur_connexion' => 'خطأ اتصال', |
|
| 39 | + 'avis_erreur_cookie' => 'مشكلة في الكعكة', |
|
| 40 | + 'avis_erreur_fonction_contexte' => 'خطأ برمجة. لا يجب المناداة على هذه الوظيفة في هذا السياق.', |
|
| 41 | + 'avis_erreur_mysql' => 'خطأ SQL ', |
|
| 42 | + 'avis_erreur_sauvegarde' => 'خطأ في النسخة الاحتياطية (@type@ @id_objet@)!', |
|
| 43 | + 'avis_erreur_visiteur' => 'هناك مشكلة في الدخول إلى المجال الخاص', |
|
| 44 | + 'avis_nb_erreurs_saisie' => 'هناك @nb@ خطأ في إدخالك، الرجاء التدقيق في المعلومات.', |
|
| 45 | 45 | |
| 46 | - // B |
|
| 47 | - 'barre_a_accent_grave' => 'إدراج حرف A كبير مع نبر الإطالة', |
|
| 48 | - 'barre_aide' => 'استخدم شريط اختصارات الكتابة لإثراء تصميم صفحتك', |
|
| 49 | - 'barre_e_accent_aigu' => 'إدراج حرف E كبير مع نبر حاد', |
|
| 50 | - 'barre_eo' => 'إدراج E داخل O', |
|
| 51 | - 'barre_eo_maj' => 'إدراج E كبير داخل O كبير', |
|
| 52 | - 'barre_euro' => 'إدراج رمز €', |
|
| 53 | - 'barre_gras' => '{{غامق{{', |
|
| 54 | - 'barre_guillemets' => 'إحاطة «بعلامتي اقتباس مزدوجة»', |
|
| 55 | - 'barre_guillemets_simples' => 'وضع بين "علامتي اقتباس مزدوجة من المستوى الثاني"', |
|
| 56 | - 'barre_intertitre' => 'تحويل إلى {{{عنوان فقرة}}}', |
|
| 57 | - 'barre_italic' => '{مائل{', |
|
| 58 | - 'barre_lien' => 'تحويل إلى [وصلة هايبرتكست->http://...]', |
|
| 59 | - 'barre_lien_input' => 'الرجاء إدخال عنوان الوصلة (يمكنك إدخال عنوان نسيج على شكل http://www.mysite.com أو إدخال رقم مقال من الموقع الحالي فقط).', |
|
| 60 | - 'barre_note' => 'تحويل إلى [[حاشية]]', |
|
| 61 | - 'barre_paragraphe' => 'إنشاء فقرة', |
|
| 62 | - 'barre_quote' => '<quote>اقتباس رسالة</quote>', |
|
| 63 | - 'bouton_changer' => 'تغيير', |
|
| 64 | - 'bouton_chercher' => 'بحث', |
|
| 65 | - 'bouton_choisir' => 'تحديد', |
|
| 66 | - 'bouton_deplacer' => 'نقل', |
|
| 67 | - 'bouton_download' => 'تحميل', |
|
| 68 | - 'bouton_enregistrer' => 'إدخال', |
|
| 69 | - 'bouton_radio_desactiver_messagerie_interne' => 'إيقاف المراسلة الداخلية', |
|
| 70 | - 'bouton_radio_envoi_annonces' => 'إرسال إعلانات التحرير', |
|
| 71 | - 'bouton_radio_non_envoi_annonces' => 'عدم إرسال الإعلانات', |
|
| 72 | - 'bouton_radio_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار', |
|
| 73 | - 'bouton_recharger_page' => 'إعادة تحميل الصفحة', |
|
| 74 | - 'bouton_telecharger' => 'تحميل', |
|
| 75 | - 'bouton_upload' => 'تنزيل', |
|
| 76 | - 'bouton_valider' => 'إدخال', |
|
| 46 | + // B |
|
| 47 | + 'barre_a_accent_grave' => 'إدراج حرف A كبير مع نبر الإطالة', |
|
| 48 | + 'barre_aide' => 'استخدم شريط اختصارات الكتابة لإثراء تصميم صفحتك', |
|
| 49 | + 'barre_e_accent_aigu' => 'إدراج حرف E كبير مع نبر حاد', |
|
| 50 | + 'barre_eo' => 'إدراج E داخل O', |
|
| 51 | + 'barre_eo_maj' => 'إدراج E كبير داخل O كبير', |
|
| 52 | + 'barre_euro' => 'إدراج رمز €', |
|
| 53 | + 'barre_gras' => '{{غامق{{', |
|
| 54 | + 'barre_guillemets' => 'إحاطة «بعلامتي اقتباس مزدوجة»', |
|
| 55 | + 'barre_guillemets_simples' => 'وضع بين "علامتي اقتباس مزدوجة من المستوى الثاني"', |
|
| 56 | + 'barre_intertitre' => 'تحويل إلى {{{عنوان فقرة}}}', |
|
| 57 | + 'barre_italic' => '{مائل{', |
|
| 58 | + 'barre_lien' => 'تحويل إلى [وصلة هايبرتكست->http://...]', |
|
| 59 | + 'barre_lien_input' => 'الرجاء إدخال عنوان الوصلة (يمكنك إدخال عنوان نسيج على شكل http://www.mysite.com أو إدخال رقم مقال من الموقع الحالي فقط).', |
|
| 60 | + 'barre_note' => 'تحويل إلى [[حاشية]]', |
|
| 61 | + 'barre_paragraphe' => 'إنشاء فقرة', |
|
| 62 | + 'barre_quote' => '<quote>اقتباس رسالة</quote>', |
|
| 63 | + 'bouton_changer' => 'تغيير', |
|
| 64 | + 'bouton_chercher' => 'بحث', |
|
| 65 | + 'bouton_choisir' => 'تحديد', |
|
| 66 | + 'bouton_deplacer' => 'نقل', |
|
| 67 | + 'bouton_download' => 'تحميل', |
|
| 68 | + 'bouton_enregistrer' => 'إدخال', |
|
| 69 | + 'bouton_radio_desactiver_messagerie_interne' => 'إيقاف المراسلة الداخلية', |
|
| 70 | + 'bouton_radio_envoi_annonces' => 'إرسال إعلانات التحرير', |
|
| 71 | + 'bouton_radio_non_envoi_annonces' => 'عدم إرسال الإعلانات', |
|
| 72 | + 'bouton_radio_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار', |
|
| 73 | + 'bouton_recharger_page' => 'إعادة تحميل الصفحة', |
|
| 74 | + 'bouton_telecharger' => 'تحميل', |
|
| 75 | + 'bouton_upload' => 'تنزيل', |
|
| 76 | + 'bouton_valider' => 'إدخال', |
|
| 77 | 77 | |
| 78 | - // C |
|
| 79 | - 'cal_apresmidi' => 'بعد الظهر', |
|
| 80 | - 'cal_jour_entier' => 'يوم كامل', |
|
| 81 | - 'cal_matin' => 'الصباح', |
|
| 82 | - 'cal_par_jour' => 'روزنامة يومية', |
|
| 83 | - 'cal_par_mois' => 'روزنامة شهرية', |
|
| 84 | - 'cal_par_semaine' => 'روزنامة أسبوعية', |
|
| 85 | - 'choix_couleur_interface' => 'اللون', |
|
| 86 | - 'choix_interface' => 'اختيار الواجهة', |
|
| 87 | - 'colonne' => 'عمود', |
|
| 88 | - 'confirm_changer_statut' => 'تحذير، لقد طلبت تغيير حالة هذا العنصر. هل تريد المتابعة؟', |
|
| 89 | - 'correcte' => 'صحيح', |
|
| 78 | + // C |
|
| 79 | + 'cal_apresmidi' => 'بعد الظهر', |
|
| 80 | + 'cal_jour_entier' => 'يوم كامل', |
|
| 81 | + 'cal_matin' => 'الصباح', |
|
| 82 | + 'cal_par_jour' => 'روزنامة يومية', |
|
| 83 | + 'cal_par_mois' => 'روزنامة شهرية', |
|
| 84 | + 'cal_par_semaine' => 'روزنامة أسبوعية', |
|
| 85 | + 'choix_couleur_interface' => 'اللون', |
|
| 86 | + 'choix_interface' => 'اختيار الواجهة', |
|
| 87 | + 'colonne' => 'عمود', |
|
| 88 | + 'confirm_changer_statut' => 'تحذير، لقد طلبت تغيير حالة هذا العنصر. هل تريد المتابعة؟', |
|
| 89 | + 'correcte' => 'صحيح', |
|
| 90 | 90 | |
| 91 | - // D |
|
| 92 | - 'date_aujourdhui' => 'اليوم', |
|
| 93 | - 'date_avant_jc' => 'قبل الميلاد', |
|
| 94 | - 'date_dans' => 'بعد @delai@', |
|
| 95 | - 'date_de_mois_1' => '@j@ @nommois@', |
|
| 96 | - 'date_de_mois_10' => '@j@ @nommois@', |
|
| 97 | - 'date_de_mois_11' => '@j@ @nommois@', |
|
| 98 | - 'date_de_mois_12' => '@j@ @nommois@', |
|
| 99 | - 'date_de_mois_2' => '@j@ @nommois@', |
|
| 100 | - 'date_de_mois_3' => '@j@ @nommois@', |
|
| 101 | - 'date_de_mois_4' => '@j@ @nommois@', |
|
| 102 | - 'date_de_mois_5' => '@j@ @nommois@', |
|
| 103 | - 'date_de_mois_6' => '@j@ @nommois@', |
|
| 104 | - 'date_de_mois_7' => '@j@ @nommois@', |
|
| 105 | - 'date_de_mois_8' => '@j@ @nommois@', |
|
| 106 | - 'date_de_mois_9' => '@j@ @nommois@', |
|
| 107 | - 'date_demain' => 'غداً', |
|
| 108 | - 'date_fmt_heures_minutes' => '@h@ و@m@ دقيقة', |
|
| 109 | - 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 110 | - 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 111 | - 'date_fmt_jour_heure' => '@jour@ الساعة @heure@', |
|
| 112 | - 'date_fmt_jour_heure_debut_fin' => 'في @jour@ من @heure_debut@ الى @heure_fin@', |
|
| 113 | - 'date_fmt_jour_heure_debut_fin_abbr' => 'في @dtstart@@jour@ من @heure_debut@@dtabbr@ الى @dtend@@heure_fin@@dtabbr@', |
|
| 114 | - 'date_fmt_jour_mois' => '@jour@ @nommois@', |
|
| 115 | - 'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@', |
|
| 116 | - 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 117 | - 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 118 | - 'date_fmt_nomjour_date' => 'في @nomjour@ @date@', |
|
| 119 | - 'date_fmt_periode' => 'من @date_debut@ الى @date_fin@', |
|
| 120 | - 'date_fmt_periode_abbr' => 'من @dtart@@date_debut@@dtabbr@ الى @dtend@@date_fin@@dtabbr@', |
|
| 121 | - 'date_fmt_periode_from' => 'من', |
|
| 122 | - 'date_fmt_periode_to' => 'الى', |
|
| 123 | - 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 124 | - 'date_heures' => 'ساعة', |
|
| 125 | - 'date_hier' => 'البارحة', |
|
| 126 | - 'date_il_y_a' => 'منذ @delai@', |
|
| 127 | - 'date_jnum1' => '1', |
|
| 128 | - 'date_jnum10' => '10', |
|
| 129 | - 'date_jnum11' => '11', |
|
| 130 | - 'date_jnum12' => '12', |
|
| 131 | - 'date_jnum13' => '13', |
|
| 132 | - 'date_jnum14' => '14', |
|
| 133 | - 'date_jnum15' => '15', |
|
| 134 | - 'date_jnum16' => '16', |
|
| 135 | - 'date_jnum17' => '17', |
|
| 136 | - 'date_jnum18' => '18', |
|
| 137 | - 'date_jnum19' => '19', |
|
| 138 | - 'date_jnum2' => '2', |
|
| 139 | - 'date_jnum20' => '20', |
|
| 140 | - 'date_jnum21' => '21', |
|
| 141 | - 'date_jnum22' => '22', |
|
| 142 | - 'date_jnum23' => '23', |
|
| 143 | - 'date_jnum24' => '24', |
|
| 144 | - 'date_jnum25' => '25', |
|
| 145 | - 'date_jnum26' => '26', |
|
| 146 | - 'date_jnum27' => '27', |
|
| 147 | - 'date_jnum28' => '28', |
|
| 148 | - 'date_jnum29' => '29', |
|
| 149 | - 'date_jnum3' => '3', |
|
| 150 | - 'date_jnum30' => '30', |
|
| 151 | - 'date_jnum31' => '31', |
|
| 152 | - 'date_jnum4' => '4', |
|
| 153 | - 'date_jnum5' => '5', |
|
| 154 | - 'date_jnum6' => '6', |
|
| 155 | - 'date_jnum7' => '7', |
|
| 156 | - 'date_jnum8' => '8', |
|
| 157 | - 'date_jnum9' => '9', |
|
| 158 | - 'date_jour_1' => 'الأحد', |
|
| 159 | - 'date_jour_1_abbr' => 'أحد', |
|
| 160 | - 'date_jour_1_initiale' => 'أحد', |
|
| 161 | - 'date_jour_2' => 'الاثنين', |
|
| 162 | - 'date_jour_2_abbr' => 'اثنين', |
|
| 163 | - 'date_jour_2_initiale' => 'اثنين', |
|
| 164 | - 'date_jour_3' => 'الثلاثاء', |
|
| 165 | - 'date_jour_3_abbr' => 'ثلاثاء', |
|
| 166 | - 'date_jour_3_initiale' => 'ثلاثاء', |
|
| 167 | - 'date_jour_4' => 'الأربعاء', |
|
| 168 | - 'date_jour_4_abbr' => 'أربعاء', |
|
| 169 | - 'date_jour_4_initiale' => 'أربعاء', |
|
| 170 | - 'date_jour_5' => 'الخميس', |
|
| 171 | - 'date_jour_5_abbr' => 'خميس', |
|
| 172 | - 'date_jour_5_initiale' => 'خميس', |
|
| 173 | - 'date_jour_6' => 'الجمعة', |
|
| 174 | - 'date_jour_6_abbr' => 'جمعة', |
|
| 175 | - 'date_jour_6_initiale' => 'جمعة', |
|
| 176 | - 'date_jour_7' => 'السبت', |
|
| 177 | - 'date_jour_7_abbr' => 'سبت', |
|
| 178 | - 'date_jour_7_initiale' => 'سبت', |
|
| 179 | - 'date_jours' => 'يوم', |
|
| 180 | - 'date_minutes' => 'دقيقة', |
|
| 181 | - 'date_mois' => 'شهر', |
|
| 182 | - 'date_mois_1' => 'كانون الثاني (يناير)', |
|
| 183 | - 'date_mois_10' => 'تشرين الأول (أكتوبر)', |
|
| 184 | - 'date_mois_10_abbr' => 'ت١', |
|
| 185 | - 'date_mois_11' => 'تشرين الثاني (نوفمبر)', |
|
| 186 | - 'date_mois_11_abbr' => 'ت٢', |
|
| 187 | - 'date_mois_12' => 'كانون الأول (ديسمبر)', |
|
| 188 | - 'date_mois_12_abbr' => 'ك١', |
|
| 189 | - 'date_mois_1_abbr' => 'ك٢', |
|
| 190 | - 'date_mois_2' => 'شباط (فبراير)', |
|
| 191 | - 'date_mois_2_abbr' => 'شباط', |
|
| 192 | - 'date_mois_3' => 'آذار (مارس)', |
|
| 193 | - 'date_mois_3_abbr' => 'آذار', |
|
| 194 | - 'date_mois_4' => 'نيسان (أبريل)', |
|
| 195 | - 'date_mois_4_abbr' => 'نيسان', |
|
| 196 | - 'date_mois_5' => 'أيار (مايو)', |
|
| 197 | - 'date_mois_5_abbr' => 'أيار', |
|
| 198 | - 'date_mois_6' => 'حزيران (يونيو)', |
|
| 199 | - 'date_mois_6_abbr' => 'جزيران', |
|
| 200 | - 'date_mois_7' => 'تموز (يوليو)', |
|
| 201 | - 'date_mois_7_abbr' => 'تموز', |
|
| 202 | - 'date_mois_8' => 'آب (أغسطس)', |
|
| 203 | - 'date_mois_8_abbr' => 'آب', |
|
| 204 | - 'date_mois_9' => 'أيلول (سبتمبر)', |
|
| 205 | - 'date_mois_9_abbr' => 'أيلول', |
|
| 206 | - 'date_saison_1' => 'الشتاء', |
|
| 207 | - 'date_saison_2' => 'الربيع', |
|
| 208 | - 'date_saison_3' => 'الصيف', |
|
| 209 | - 'date_saison_4' => 'الخريف', |
|
| 210 | - 'date_secondes' => 'ثانية', |
|
| 211 | - 'date_semaines' => 'أسبوع', |
|
| 212 | - 'date_un_mois' => 'شهر', |
|
| 213 | - 'date_une_heure' => 'ساعة', |
|
| 214 | - 'date_une_minute' => 'دقيقة', |
|
| 215 | - 'date_une_seconde' => 'ثانية', |
|
| 216 | - 'date_une_semaine' => 'أسبوع', |
|
| 217 | - 'dirs_commencer' => 'للبدء فعلاً بعملية التثبيت', |
|
| 218 | - 'dirs_preliminaire' => 'تمهيد: <b>إعداد امتيازات الدخول</b>', |
|
| 219 | - 'dirs_probleme_droits' => 'مشكلة في امتيازات الدخول', |
|
| 220 | - 'dirs_repertoires_absents' => '<p><b>لم يتم العثور على الأدلة التالية: </b></p><ul>@bad_dirs@</ul> |
|
| 91 | + // D |
|
| 92 | + 'date_aujourdhui' => 'اليوم', |
|
| 93 | + 'date_avant_jc' => 'قبل الميلاد', |
|
| 94 | + 'date_dans' => 'بعد @delai@', |
|
| 95 | + 'date_de_mois_1' => '@j@ @nommois@', |
|
| 96 | + 'date_de_mois_10' => '@j@ @nommois@', |
|
| 97 | + 'date_de_mois_11' => '@j@ @nommois@', |
|
| 98 | + 'date_de_mois_12' => '@j@ @nommois@', |
|
| 99 | + 'date_de_mois_2' => '@j@ @nommois@', |
|
| 100 | + 'date_de_mois_3' => '@j@ @nommois@', |
|
| 101 | + 'date_de_mois_4' => '@j@ @nommois@', |
|
| 102 | + 'date_de_mois_5' => '@j@ @nommois@', |
|
| 103 | + 'date_de_mois_6' => '@j@ @nommois@', |
|
| 104 | + 'date_de_mois_7' => '@j@ @nommois@', |
|
| 105 | + 'date_de_mois_8' => '@j@ @nommois@', |
|
| 106 | + 'date_de_mois_9' => '@j@ @nommois@', |
|
| 107 | + 'date_demain' => 'غداً', |
|
| 108 | + 'date_fmt_heures_minutes' => '@h@ و@m@ دقيقة', |
|
| 109 | + 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 110 | + 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 111 | + 'date_fmt_jour_heure' => '@jour@ الساعة @heure@', |
|
| 112 | + 'date_fmt_jour_heure_debut_fin' => 'في @jour@ من @heure_debut@ الى @heure_fin@', |
|
| 113 | + 'date_fmt_jour_heure_debut_fin_abbr' => 'في @dtstart@@jour@ من @heure_debut@@dtabbr@ الى @dtend@@heure_fin@@dtabbr@', |
|
| 114 | + 'date_fmt_jour_mois' => '@jour@ @nommois@', |
|
| 115 | + 'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@', |
|
| 116 | + 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 117 | + 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 118 | + 'date_fmt_nomjour_date' => 'في @nomjour@ @date@', |
|
| 119 | + 'date_fmt_periode' => 'من @date_debut@ الى @date_fin@', |
|
| 120 | + 'date_fmt_periode_abbr' => 'من @dtart@@date_debut@@dtabbr@ الى @dtend@@date_fin@@dtabbr@', |
|
| 121 | + 'date_fmt_periode_from' => 'من', |
|
| 122 | + 'date_fmt_periode_to' => 'الى', |
|
| 123 | + 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 124 | + 'date_heures' => 'ساعة', |
|
| 125 | + 'date_hier' => 'البارحة', |
|
| 126 | + 'date_il_y_a' => 'منذ @delai@', |
|
| 127 | + 'date_jnum1' => '1', |
|
| 128 | + 'date_jnum10' => '10', |
|
| 129 | + 'date_jnum11' => '11', |
|
| 130 | + 'date_jnum12' => '12', |
|
| 131 | + 'date_jnum13' => '13', |
|
| 132 | + 'date_jnum14' => '14', |
|
| 133 | + 'date_jnum15' => '15', |
|
| 134 | + 'date_jnum16' => '16', |
|
| 135 | + 'date_jnum17' => '17', |
|
| 136 | + 'date_jnum18' => '18', |
|
| 137 | + 'date_jnum19' => '19', |
|
| 138 | + 'date_jnum2' => '2', |
|
| 139 | + 'date_jnum20' => '20', |
|
| 140 | + 'date_jnum21' => '21', |
|
| 141 | + 'date_jnum22' => '22', |
|
| 142 | + 'date_jnum23' => '23', |
|
| 143 | + 'date_jnum24' => '24', |
|
| 144 | + 'date_jnum25' => '25', |
|
| 145 | + 'date_jnum26' => '26', |
|
| 146 | + 'date_jnum27' => '27', |
|
| 147 | + 'date_jnum28' => '28', |
|
| 148 | + 'date_jnum29' => '29', |
|
| 149 | + 'date_jnum3' => '3', |
|
| 150 | + 'date_jnum30' => '30', |
|
| 151 | + 'date_jnum31' => '31', |
|
| 152 | + 'date_jnum4' => '4', |
|
| 153 | + 'date_jnum5' => '5', |
|
| 154 | + 'date_jnum6' => '6', |
|
| 155 | + 'date_jnum7' => '7', |
|
| 156 | + 'date_jnum8' => '8', |
|
| 157 | + 'date_jnum9' => '9', |
|
| 158 | + 'date_jour_1' => 'الأحد', |
|
| 159 | + 'date_jour_1_abbr' => 'أحد', |
|
| 160 | + 'date_jour_1_initiale' => 'أحد', |
|
| 161 | + 'date_jour_2' => 'الاثنين', |
|
| 162 | + 'date_jour_2_abbr' => 'اثنين', |
|
| 163 | + 'date_jour_2_initiale' => 'اثنين', |
|
| 164 | + 'date_jour_3' => 'الثلاثاء', |
|
| 165 | + 'date_jour_3_abbr' => 'ثلاثاء', |
|
| 166 | + 'date_jour_3_initiale' => 'ثلاثاء', |
|
| 167 | + 'date_jour_4' => 'الأربعاء', |
|
| 168 | + 'date_jour_4_abbr' => 'أربعاء', |
|
| 169 | + 'date_jour_4_initiale' => 'أربعاء', |
|
| 170 | + 'date_jour_5' => 'الخميس', |
|
| 171 | + 'date_jour_5_abbr' => 'خميس', |
|
| 172 | + 'date_jour_5_initiale' => 'خميس', |
|
| 173 | + 'date_jour_6' => 'الجمعة', |
|
| 174 | + 'date_jour_6_abbr' => 'جمعة', |
|
| 175 | + 'date_jour_6_initiale' => 'جمعة', |
|
| 176 | + 'date_jour_7' => 'السبت', |
|
| 177 | + 'date_jour_7_abbr' => 'سبت', |
|
| 178 | + 'date_jour_7_initiale' => 'سبت', |
|
| 179 | + 'date_jours' => 'يوم', |
|
| 180 | + 'date_minutes' => 'دقيقة', |
|
| 181 | + 'date_mois' => 'شهر', |
|
| 182 | + 'date_mois_1' => 'كانون الثاني (يناير)', |
|
| 183 | + 'date_mois_10' => 'تشرين الأول (أكتوبر)', |
|
| 184 | + 'date_mois_10_abbr' => 'ت١', |
|
| 185 | + 'date_mois_11' => 'تشرين الثاني (نوفمبر)', |
|
| 186 | + 'date_mois_11_abbr' => 'ت٢', |
|
| 187 | + 'date_mois_12' => 'كانون الأول (ديسمبر)', |
|
| 188 | + 'date_mois_12_abbr' => 'ك١', |
|
| 189 | + 'date_mois_1_abbr' => 'ك٢', |
|
| 190 | + 'date_mois_2' => 'شباط (فبراير)', |
|
| 191 | + 'date_mois_2_abbr' => 'شباط', |
|
| 192 | + 'date_mois_3' => 'آذار (مارس)', |
|
| 193 | + 'date_mois_3_abbr' => 'آذار', |
|
| 194 | + 'date_mois_4' => 'نيسان (أبريل)', |
|
| 195 | + 'date_mois_4_abbr' => 'نيسان', |
|
| 196 | + 'date_mois_5' => 'أيار (مايو)', |
|
| 197 | + 'date_mois_5_abbr' => 'أيار', |
|
| 198 | + 'date_mois_6' => 'حزيران (يونيو)', |
|
| 199 | + 'date_mois_6_abbr' => 'جزيران', |
|
| 200 | + 'date_mois_7' => 'تموز (يوليو)', |
|
| 201 | + 'date_mois_7_abbr' => 'تموز', |
|
| 202 | + 'date_mois_8' => 'آب (أغسطس)', |
|
| 203 | + 'date_mois_8_abbr' => 'آب', |
|
| 204 | + 'date_mois_9' => 'أيلول (سبتمبر)', |
|
| 205 | + 'date_mois_9_abbr' => 'أيلول', |
|
| 206 | + 'date_saison_1' => 'الشتاء', |
|
| 207 | + 'date_saison_2' => 'الربيع', |
|
| 208 | + 'date_saison_3' => 'الصيف', |
|
| 209 | + 'date_saison_4' => 'الخريف', |
|
| 210 | + 'date_secondes' => 'ثانية', |
|
| 211 | + 'date_semaines' => 'أسبوع', |
|
| 212 | + 'date_un_mois' => 'شهر', |
|
| 213 | + 'date_une_heure' => 'ساعة', |
|
| 214 | + 'date_une_minute' => 'دقيقة', |
|
| 215 | + 'date_une_seconde' => 'ثانية', |
|
| 216 | + 'date_une_semaine' => 'أسبوع', |
|
| 217 | + 'dirs_commencer' => 'للبدء فعلاً بعملية التثبيت', |
|
| 218 | + 'dirs_preliminaire' => 'تمهيد: <b>إعداد امتيازات الدخول</b>', |
|
| 219 | + 'dirs_probleme_droits' => 'مشكلة في امتيازات الدخول', |
|
| 220 | + 'dirs_repertoires_absents' => '<p><b>لم يتم العثور على الأدلة التالية: </b></p><ul>@bad_dirs@</ul> |
|
| 221 | 221 | <p>قد يكون السبب خطأ في اعتماد الحروف الكبيرة أو الصغيرة في أسمائها. الرجاء التأكد من أن الحروف الكبيرة والصغيرة في أسماء هذه الأدلة تناسب ما هو معروض أعلاه؛ إذا لم يكن الأمر كذلك، الرجاء إعادة تسمية الأدلة بواسطة برنامج FTP لتصحيح الخطأ. |
| 222 | 222 | <p>بعد تنفيذ هذه العملية يمكنك </p>', |
| 223 | - 'dirs_repertoires_suivants' => '<p><b>الأدلة التالية ممنوعة على الكتابة: </b></p |
|
| 223 | + 'dirs_repertoires_suivants' => '<p><b>الأدلة التالية ممنوعة على الكتابة: </b></p |
|
| 224 | 224 | <ul>@bad_dirs@</ul> |
| 225 | 225 | <p>لحل هذه المشكلة، استخدم برنامج FTP لإعداد امتيازات الدخول لكل من هذه الأدلة. ويوضح دليل الاستخدام هذه العملية بالتفصيل. |
| 226 | 226 | <p>بعد إتمام هذه العملية يمكنك</p>', |
| 227 | - 'double_occurrence' => 'ظهور مكرر لعلامة @balise@', |
|
| 227 | + 'double_occurrence' => 'ظهور مكرر لعلامة @balise@', |
|
| 228 | 228 | |
| 229 | - // E |
|
| 230 | - 'en_cours' => 'جاري', |
|
| 231 | - 'envoi_via_le_site' => 'إرسال عبر الموقع', |
|
| 232 | - 'erreur' => 'خطأ', |
|
| 233 | - 'erreur_balise_non_fermee' => 'آخر علامة غير مغلقة:', |
|
| 234 | - 'erreur_technique_ajaxform' => 'عفواً. حدث خطأ غير متوقع خلال إرسال الاستمارة. الرجاء المحاولة من جديد.', |
|
| 235 | - 'erreur_technique_enregistrement_champs' => 'خطأ تقني منع التسجيل السليم للحقل @champs@. ', |
|
| 236 | - 'erreur_technique_enregistrement_impossible' => 'خطأ تقني منع التسجيل.', |
|
| 237 | - 'erreur_texte' => 'خطأ (أخطاء)', |
|
| 238 | - 'etape' => 'خطوة', |
|
| 229 | + // E |
|
| 230 | + 'en_cours' => 'جاري', |
|
| 231 | + 'envoi_via_le_site' => 'إرسال عبر الموقع', |
|
| 232 | + 'erreur' => 'خطأ', |
|
| 233 | + 'erreur_balise_non_fermee' => 'آخر علامة غير مغلقة:', |
|
| 234 | + 'erreur_technique_ajaxform' => 'عفواً. حدث خطأ غير متوقع خلال إرسال الاستمارة. الرجاء المحاولة من جديد.', |
|
| 235 | + 'erreur_technique_enregistrement_champs' => 'خطأ تقني منع التسجيل السليم للحقل @champs@. ', |
|
| 236 | + 'erreur_technique_enregistrement_impossible' => 'خطأ تقني منع التسجيل.', |
|
| 237 | + 'erreur_texte' => 'خطأ (أخطاء)', |
|
| 238 | + 'etape' => 'خطوة', |
|
| 239 | 239 | |
| 240 | - // F |
|
| 241 | - 'fichier_introuvable' => 'لا يمكن العثور على الملف @fichier@', |
|
| 242 | - 'form_auteur_confirmation' => 'تأكيد عنوان البريد الالكتروني', |
|
| 243 | - 'form_auteur_email_modifie' => 'تغير عنوان بريدك.', |
|
| 244 | - 'form_auteur_envoi_mail_confirmation' => 'لفد تم ارسال بريد تأكيد الى @email@. عليك زيارة عنوان الموقع الموجود في الرسالة للتصديق على عنوان بريدك.', |
|
| 245 | - 'form_auteur_mail_confirmation' => 'أهلاً وسهلاً |
|
| 240 | + // F |
|
| 241 | + 'fichier_introuvable' => 'لا يمكن العثور على الملف @fichier@', |
|
| 242 | + 'form_auteur_confirmation' => 'تأكيد عنوان البريد الالكتروني', |
|
| 243 | + 'form_auteur_email_modifie' => 'تغير عنوان بريدك.', |
|
| 244 | + 'form_auteur_envoi_mail_confirmation' => 'لفد تم ارسال بريد تأكيد الى @email@. عليك زيارة عنوان الموقع الموجود في الرسالة للتصديق على عنوان بريدك.', |
|
| 245 | + 'form_auteur_mail_confirmation' => 'أهلاً وسهلاً |
|
| 246 | 246 | |
| 247 | 247 | لقد طلبت تغيير عنوان بريدك. |
| 248 | 248 | للتصديق على العنوان الجديد، يكفي الاتصال |
@@ -251,347 +251,347 @@ discard block |
||
| 251 | 251 | |
| 252 | 252 | @url@ |
| 253 | 253 | ', |
| 254 | - 'form_deja_inscrit' => 'سبق لك التسجيل.', |
|
| 255 | - 'form_email_non_valide' => 'عنوانك البريدي غير صالح.', |
|
| 256 | - 'form_forum_access_refuse' => 'لم تعد تملك امتياز الدحول إلى هذا الموقع.', |
|
| 257 | - 'form_forum_bonjour' => 'مرحباً @nom@،', |
|
| 258 | - 'form_forum_confirmer_email' => 'لتأكيد عنوان بريدك، إذهب الى:@url_confirm@', |
|
| 259 | - 'form_forum_email_deja_enregistre' => 'سبق تسجيل هذا العنوان البريدي، يمكنك إذاً استخدام كلمة سرك الاعتيادية.', |
|
| 260 | - 'form_forum_identifiant_mail' => 'لقد تم إرسال معرّفك الجديد بالبريد الالكتروني.', |
|
| 261 | - 'form_forum_identifiants' => 'بيانات الاتصال الشخصية', |
|
| 262 | - 'form_forum_indiquer_nom_email' => 'قم بإدخال اسمك وعنوانك البريدي هنا. ستحصل على بيانات اتصالك قريباً في البريد الإلكتروني.', |
|
| 263 | - 'form_forum_login' => 'المعرّف:', |
|
| 264 | - 'form_forum_message_auto' => '(هذه رسالة آلية)', |
|
| 265 | - 'form_forum_pass' => 'كلمة السر:', |
|
| 266 | - 'form_forum_probleme_mail' => 'مشكلة بريد إلكتروني: لا يمكن إرسال بيانات الدخول.', |
|
| 267 | - 'form_forum_voici1' => 'هذه هي بياناتك للاشتراك في نشاط |
|
| 254 | + 'form_deja_inscrit' => 'سبق لك التسجيل.', |
|
| 255 | + 'form_email_non_valide' => 'عنوانك البريدي غير صالح.', |
|
| 256 | + 'form_forum_access_refuse' => 'لم تعد تملك امتياز الدحول إلى هذا الموقع.', |
|
| 257 | + 'form_forum_bonjour' => 'مرحباً @nom@،', |
|
| 258 | + 'form_forum_confirmer_email' => 'لتأكيد عنوان بريدك، إذهب الى:@url_confirm@', |
|
| 259 | + 'form_forum_email_deja_enregistre' => 'سبق تسجيل هذا العنوان البريدي، يمكنك إذاً استخدام كلمة سرك الاعتيادية.', |
|
| 260 | + 'form_forum_identifiant_mail' => 'لقد تم إرسال معرّفك الجديد بالبريد الالكتروني.', |
|
| 261 | + 'form_forum_identifiants' => 'بيانات الاتصال الشخصية', |
|
| 262 | + 'form_forum_indiquer_nom_email' => 'قم بإدخال اسمك وعنوانك البريدي هنا. ستحصل على بيانات اتصالك قريباً في البريد الإلكتروني.', |
|
| 263 | + 'form_forum_login' => 'المعرّف:', |
|
| 264 | + 'form_forum_message_auto' => '(هذه رسالة آلية)', |
|
| 265 | + 'form_forum_pass' => 'كلمة السر:', |
|
| 266 | + 'form_forum_probleme_mail' => 'مشكلة بريد إلكتروني: لا يمكن إرسال بيانات الدخول.', |
|
| 267 | + 'form_forum_voici1' => 'هذه هي بياناتك للاشتراك في نشاط |
|
| 268 | 268 | الموقع "@nom_site_spip@" (@adresse_site@):', |
| 269 | - 'form_forum_voici2' => 'هذه هي بياناتك لاقتراح مقالات |
|
| 269 | + 'form_forum_voici2' => 'هذه هي بياناتك لاقتراح مقالات |
|
| 270 | 270 | للموقع "@nom_site_spip@" (@adresse_login@):', |
| 271 | - 'form_indiquer_email' => 'الرجاء إدخال عنوانك الإلكتروني.', |
|
| 272 | - 'form_indiquer_nom' => 'الرجاء إدخال اسمك.', |
|
| 273 | - 'form_indiquer_nom_site' => 'الرجاء إدخال إسم موقعك.', |
|
| 274 | - 'form_pet_deja_enregistre' => 'سبق تسجيل هذا الموقع', |
|
| 275 | - 'form_pet_signature_pasprise' => 'تم تجاهل توقيعك.', |
|
| 276 | - 'form_prop_confirmer_envoi' => 'تأكيد الإرسال', |
|
| 277 | - 'form_prop_description' => 'وصف/تعليق', |
|
| 278 | - 'form_prop_enregistre' => 'تم تسجيل اقتراحك، سوف يظهر بعد تصديقه من قبل مسئولي هذا الموقع.', |
|
| 279 | - 'form_prop_envoyer' => 'ابعث برسالة', |
|
| 280 | - 'form_prop_indiquer_email' => 'الرجاء إدخال عنوان بريد إلكتروني صالح', |
|
| 281 | - 'form_prop_indiquer_nom_site' => 'الرجاء إدخال اسم الموقع.', |
|
| 282 | - 'form_prop_indiquer_sujet' => 'الرجاء إدخال موضوع', |
|
| 283 | - 'form_prop_message_envoye' => 'تم بعث الرسالة', |
|
| 284 | - 'form_prop_non_enregistre' => 'لم يتم تسجيل اقتراحك.', |
|
| 285 | - 'form_prop_sujet' => 'الموضوع', |
|
| 286 | - 'form_prop_url_site' => 'عنوان الموقع', |
|
| 287 | - 'format_date_attendu' => 'إدخال تاريخ بتنسيق jj/mm/aaaa.', |
|
| 288 | - 'format_date_incorrecte' => 'التاريخ او تنسيقه غير صحيح', |
|
| 289 | - 'format_heure_attendu' => 'إدخال ساعة بتنسيق hh:mm.', |
|
| 290 | - 'format_heure_incorrecte' => 'الساعة او تنسيقها غير صحيح', |
|
| 291 | - 'forum_non_inscrit' => 'إما انك غير مسجل أو هناك خطأ في العنوان أو كلمة السر.', |
|
| 292 | - 'forum_par_auteur' => 'من @auteur@', |
|
| 293 | - 'forum_titre_erreur' => 'خطأ...', |
|
| 271 | + 'form_indiquer_email' => 'الرجاء إدخال عنوانك الإلكتروني.', |
|
| 272 | + 'form_indiquer_nom' => 'الرجاء إدخال اسمك.', |
|
| 273 | + 'form_indiquer_nom_site' => 'الرجاء إدخال إسم موقعك.', |
|
| 274 | + 'form_pet_deja_enregistre' => 'سبق تسجيل هذا الموقع', |
|
| 275 | + 'form_pet_signature_pasprise' => 'تم تجاهل توقيعك.', |
|
| 276 | + 'form_prop_confirmer_envoi' => 'تأكيد الإرسال', |
|
| 277 | + 'form_prop_description' => 'وصف/تعليق', |
|
| 278 | + 'form_prop_enregistre' => 'تم تسجيل اقتراحك، سوف يظهر بعد تصديقه من قبل مسئولي هذا الموقع.', |
|
| 279 | + 'form_prop_envoyer' => 'ابعث برسالة', |
|
| 280 | + 'form_prop_indiquer_email' => 'الرجاء إدخال عنوان بريد إلكتروني صالح', |
|
| 281 | + 'form_prop_indiquer_nom_site' => 'الرجاء إدخال اسم الموقع.', |
|
| 282 | + 'form_prop_indiquer_sujet' => 'الرجاء إدخال موضوع', |
|
| 283 | + 'form_prop_message_envoye' => 'تم بعث الرسالة', |
|
| 284 | + 'form_prop_non_enregistre' => 'لم يتم تسجيل اقتراحك.', |
|
| 285 | + 'form_prop_sujet' => 'الموضوع', |
|
| 286 | + 'form_prop_url_site' => 'عنوان الموقع', |
|
| 287 | + 'format_date_attendu' => 'إدخال تاريخ بتنسيق jj/mm/aaaa.', |
|
| 288 | + 'format_date_incorrecte' => 'التاريخ او تنسيقه غير صحيح', |
|
| 289 | + 'format_heure_attendu' => 'إدخال ساعة بتنسيق hh:mm.', |
|
| 290 | + 'format_heure_incorrecte' => 'الساعة او تنسيقها غير صحيح', |
|
| 291 | + 'forum_non_inscrit' => 'إما انك غير مسجل أو هناك خطأ في العنوان أو كلمة السر.', |
|
| 292 | + 'forum_par_auteur' => 'من @auteur@', |
|
| 293 | + 'forum_titre_erreur' => 'خطأ...', |
|
| 294 | 294 | |
| 295 | - // I |
|
| 296 | - 'ical_texte_rss_articles' => 'يوجد ملف «الترخيص الخلفي» لمقالات هذا الموقع على العنوان: ', |
|
| 297 | - 'ical_texte_rss_articles2' => 'يمكنك أيضاً الحصول على ملفات «الترخيص الخلفي» لمقالات كل قسم في الموقع:', |
|
| 298 | - 'ical_texte_rss_breves' => 'يوجد كذلك ملف يحتوي على أخبار الموقع. وبإدخال رقم قسم ما، تحصل على أخبار هذا القسم فقط.', |
|
| 299 | - 'icone_a_suivre' => 'للمتابعة', |
|
| 300 | - 'icone_admin_site' => 'إدارة الموقع', |
|
| 301 | - 'icone_agenda' => 'المفكرة', |
|
| 302 | - 'icone_aide_ligne' => 'التعليمات الفورية', |
|
| 303 | - 'icone_articles' => 'المقالات', |
|
| 304 | - 'icone_auteurs' => 'المؤلفون', |
|
| 305 | - 'icone_brouteur' => 'تصفح سريع', |
|
| 306 | - 'icone_configuration_site' => 'إعداد', |
|
| 307 | - 'icone_configurer_site' => 'إعداد موقعك', |
|
| 308 | - 'icone_creer_nouvel_auteur' => 'إضافة مؤلف جديد', |
|
| 309 | - 'icone_creer_rubrique' => 'إنشاء قسم', |
|
| 310 | - 'icone_creer_sous_rubrique' => 'إنشاء قسم فرعي', |
|
| 311 | - 'icone_deconnecter' => 'خروج', |
|
| 312 | - 'icone_discussions' => 'نقاشات', |
|
| 313 | - 'icone_doc_rubrique' => 'مستندات الأقسام', |
|
| 314 | - 'icone_ecrire_article' => 'كتابة مقال جديد', |
|
| 315 | - 'icone_edition_site' => 'تحرير الموقع', |
|
| 316 | - 'icone_gestion_langues' => 'إدارة اللغات', |
|
| 317 | - 'icone_informations_personnelles' => 'المعلومات الشخصية', |
|
| 318 | - 'icone_interface_complet' => 'واجهة كاملة', |
|
| 319 | - 'icone_interface_simple' => 'واجهة مبسّطة', |
|
| 320 | - 'icone_maintenance_site' => 'صيانة الموقع', |
|
| 321 | - 'icone_messagerie_personnelle' => 'المراسلة الشخصية', |
|
| 322 | - 'icone_repartition_debut' => 'إظهار التوزيع منذ البداية', |
|
| 323 | - 'icone_rubriques' => 'الأقسام', |
|
| 324 | - 'icone_sauver_site' => 'نسخة احتياطية للموقع', |
|
| 325 | - 'icone_site_entier' => 'الموقع بالكامل', |
|
| 326 | - 'icone_sites_references' => 'المواقع المبوبة', |
|
| 327 | - 'icone_statistiques' => 'إحصاءات الموقع', |
|
| 328 | - 'icone_suivi_activite' => 'متابعة نشاط الموقع', |
|
| 329 | - 'icone_suivi_actualite' => 'تطور الموقع', |
|
| 330 | - 'icone_suivi_pettions' => 'متابعة/إدارة العرائض', |
|
| 331 | - 'icone_suivi_revisions' => 'تعديل المقالات', |
|
| 332 | - 'icone_supprimer_document' => 'حذف هذا المستند', |
|
| 333 | - 'icone_supprimer_image' => 'حذف هذه الصورة', |
|
| 334 | - 'icone_tous_articles' => 'كل مقالاتك', |
|
| 335 | - 'icone_tous_auteur' => 'جميع المؤلفين', |
|
| 336 | - 'icone_tous_visiteur' => 'جميع الزوار', |
|
| 337 | - 'icone_visiter_site' => 'تصفح الموقع العمومي', |
|
| 338 | - 'icone_voir_en_ligne' => 'عرض مباشر', |
|
| 339 | - 'img_indisponible' => 'صورة غير متوفرة', |
|
| 340 | - 'impossible' => 'مستحيل', |
|
| 341 | - 'info_a_suivre' => 'للمتابعة»', |
|
| 342 | - 'info_acces_interdit' => 'الدخول محظور', |
|
| 343 | - 'info_acces_refuse' => 'دخول محظور', |
|
| 344 | - 'info_action' => 'عملية: @action@', |
|
| 345 | - 'info_administrer_rubriques' => 'يمكنك إدارة هذا القسم وأقسامه الفرعية', |
|
| 346 | - 'info_adresse_non_indiquee' => 'لم تدخل أي عنوان لاختباره!', |
|
| 347 | - 'info_aide' => 'تعليمات :', |
|
| 348 | - 'info_ajouter_mot' => 'إضافة هذا المفتاح', |
|
| 349 | - 'info_annonce' => 'إعلان', |
|
| 350 | - 'info_annonces_generales' => 'إعلانات عامة:', |
|
| 351 | - 'info_article_propose' => 'مقال مقترح', |
|
| 352 | - 'info_article_publie' => 'مقال منشور', |
|
| 353 | - 'info_article_redaction' => 'مقال قيد التحرير', |
|
| 354 | - 'info_article_refuse' => 'مقال مرفوض', |
|
| 355 | - 'info_article_supprime' => 'مقال محذوف', |
|
| 356 | - 'info_articles' => 'المقالات', |
|
| 357 | - 'info_articles_a_valider' => 'مقالات معروضة للتصديق', |
|
| 358 | - 'info_articles_nb' => '@nb@ مقال', |
|
| 359 | - 'info_articles_proposes' => 'المقالات المعروضة', |
|
| 360 | - 'info_articles_un' => 'مقال واحد', |
|
| 361 | - 'info_auteurs_nombre' => 'مؤلف (مؤلفون):', |
|
| 362 | - 'info_authentification_ftp' => 'التحقق ( عبر بروتوكول FTP ).', |
|
| 363 | - 'info_breves_2' => 'خبر', |
|
| 364 | - 'info_breves_nb' => '@nb@ خبر', |
|
| 365 | - 'info_breves_un' => 'خبر واحد', |
|
| 366 | - 'info_connexion_refusee' => 'رفض الاتصال', |
|
| 367 | - 'info_contact_developpeur' => 'الرجاء الاتصال بمطوّر.', |
|
| 368 | - 'info_contenance' => 'هذا الموقع يحتوي على:', |
|
| 369 | - 'info_contribution' => 'مشاركة منتديات', |
|
| 370 | - 'info_copyright' => '@spip@ برنامج حر موزع @lien_gpl@.', |
|
| 371 | - 'info_copyright_doc' => 'لمزيد من المعلومات راجع الموقع<a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 372 | - 'info_copyright_gpl' => 'بموجب الترخيص العام GPL', |
|
| 373 | - 'info_cours_edition' => 'قيد التحرير', |
|
| 374 | - 'info_creer_repertoire' => 'الرجاء إنشاء ملف أو دليل باسم', |
|
| 375 | - 'info_creer_repertoire_2' => 'داخل الدليل الفرعي <b>@repertoire@</b>، ثم:', |
|
| 376 | - 'info_creer_vignette' => 'إنشاء آلي للمصغر', |
|
| 377 | - 'info_creerdansrubrique_non_autorise' => 'لا تملك الحقوق الكافية لإنشاء اي محتوى في هذا القسم', |
|
| 378 | - 'info_deplier' => 'بسط', |
|
| 379 | - 'info_descriptif_nombre' => 'الوصف:', |
|
| 380 | - 'info_description' => 'الوصف:', |
|
| 381 | - 'info_description_2' => 'الوصف:', |
|
| 382 | - 'info_dimension' => 'الحجم:', |
|
| 383 | - 'info_documents_nb' => '@nb@ مستند', |
|
| 384 | - 'info_documents_un' => 'مستند واحد', |
|
| 385 | - 'info_ecire_message_prive' => 'تحرير رسالة خاصة', |
|
| 386 | - 'info_email_invalide' => 'عنوان بريد غير صالح.', |
|
| 387 | - 'info_en_cours_validation' => 'مقالاتك قيد التحرير', |
|
| 388 | - 'info_en_ligne' => 'متصل حالياً:', |
|
| 389 | - 'info_envoyer_message_prive' => 'ابعث برسالة خاصة لهذا المؤلف', |
|
| 390 | - 'info_erreur_requete' => 'خطأ في الاستفسار:', |
|
| 391 | - 'info_erreur_squelette2' => 'لا توجد صفحة نموذجية <b>@fichier@</b> متاحة...', |
|
| 392 | - 'info_erreur_systeme' => 'خطأ في النظام (خطأ رقم @errsys@)', |
|
| 393 | - 'info_erreur_systeme2' => 'قد يكون القرص الصلب ممتلئاً أو قد تكون قاعدة البيانات معطلة.<br /> |
|
| 295 | + // I |
|
| 296 | + 'ical_texte_rss_articles' => 'يوجد ملف «الترخيص الخلفي» لمقالات هذا الموقع على العنوان: ', |
|
| 297 | + 'ical_texte_rss_articles2' => 'يمكنك أيضاً الحصول على ملفات «الترخيص الخلفي» لمقالات كل قسم في الموقع:', |
|
| 298 | + 'ical_texte_rss_breves' => 'يوجد كذلك ملف يحتوي على أخبار الموقع. وبإدخال رقم قسم ما، تحصل على أخبار هذا القسم فقط.', |
|
| 299 | + 'icone_a_suivre' => 'للمتابعة', |
|
| 300 | + 'icone_admin_site' => 'إدارة الموقع', |
|
| 301 | + 'icone_agenda' => 'المفكرة', |
|
| 302 | + 'icone_aide_ligne' => 'التعليمات الفورية', |
|
| 303 | + 'icone_articles' => 'المقالات', |
|
| 304 | + 'icone_auteurs' => 'المؤلفون', |
|
| 305 | + 'icone_brouteur' => 'تصفح سريع', |
|
| 306 | + 'icone_configuration_site' => 'إعداد', |
|
| 307 | + 'icone_configurer_site' => 'إعداد موقعك', |
|
| 308 | + 'icone_creer_nouvel_auteur' => 'إضافة مؤلف جديد', |
|
| 309 | + 'icone_creer_rubrique' => 'إنشاء قسم', |
|
| 310 | + 'icone_creer_sous_rubrique' => 'إنشاء قسم فرعي', |
|
| 311 | + 'icone_deconnecter' => 'خروج', |
|
| 312 | + 'icone_discussions' => 'نقاشات', |
|
| 313 | + 'icone_doc_rubrique' => 'مستندات الأقسام', |
|
| 314 | + 'icone_ecrire_article' => 'كتابة مقال جديد', |
|
| 315 | + 'icone_edition_site' => 'تحرير الموقع', |
|
| 316 | + 'icone_gestion_langues' => 'إدارة اللغات', |
|
| 317 | + 'icone_informations_personnelles' => 'المعلومات الشخصية', |
|
| 318 | + 'icone_interface_complet' => 'واجهة كاملة', |
|
| 319 | + 'icone_interface_simple' => 'واجهة مبسّطة', |
|
| 320 | + 'icone_maintenance_site' => 'صيانة الموقع', |
|
| 321 | + 'icone_messagerie_personnelle' => 'المراسلة الشخصية', |
|
| 322 | + 'icone_repartition_debut' => 'إظهار التوزيع منذ البداية', |
|
| 323 | + 'icone_rubriques' => 'الأقسام', |
|
| 324 | + 'icone_sauver_site' => 'نسخة احتياطية للموقع', |
|
| 325 | + 'icone_site_entier' => 'الموقع بالكامل', |
|
| 326 | + 'icone_sites_references' => 'المواقع المبوبة', |
|
| 327 | + 'icone_statistiques' => 'إحصاءات الموقع', |
|
| 328 | + 'icone_suivi_activite' => 'متابعة نشاط الموقع', |
|
| 329 | + 'icone_suivi_actualite' => 'تطور الموقع', |
|
| 330 | + 'icone_suivi_pettions' => 'متابعة/إدارة العرائض', |
|
| 331 | + 'icone_suivi_revisions' => 'تعديل المقالات', |
|
| 332 | + 'icone_supprimer_document' => 'حذف هذا المستند', |
|
| 333 | + 'icone_supprimer_image' => 'حذف هذه الصورة', |
|
| 334 | + 'icone_tous_articles' => 'كل مقالاتك', |
|
| 335 | + 'icone_tous_auteur' => 'جميع المؤلفين', |
|
| 336 | + 'icone_tous_visiteur' => 'جميع الزوار', |
|
| 337 | + 'icone_visiter_site' => 'تصفح الموقع العمومي', |
|
| 338 | + 'icone_voir_en_ligne' => 'عرض مباشر', |
|
| 339 | + 'img_indisponible' => 'صورة غير متوفرة', |
|
| 340 | + 'impossible' => 'مستحيل', |
|
| 341 | + 'info_a_suivre' => 'للمتابعة»', |
|
| 342 | + 'info_acces_interdit' => 'الدخول محظور', |
|
| 343 | + 'info_acces_refuse' => 'دخول محظور', |
|
| 344 | + 'info_action' => 'عملية: @action@', |
|
| 345 | + 'info_administrer_rubriques' => 'يمكنك إدارة هذا القسم وأقسامه الفرعية', |
|
| 346 | + 'info_adresse_non_indiquee' => 'لم تدخل أي عنوان لاختباره!', |
|
| 347 | + 'info_aide' => 'تعليمات :', |
|
| 348 | + 'info_ajouter_mot' => 'إضافة هذا المفتاح', |
|
| 349 | + 'info_annonce' => 'إعلان', |
|
| 350 | + 'info_annonces_generales' => 'إعلانات عامة:', |
|
| 351 | + 'info_article_propose' => 'مقال مقترح', |
|
| 352 | + 'info_article_publie' => 'مقال منشور', |
|
| 353 | + 'info_article_redaction' => 'مقال قيد التحرير', |
|
| 354 | + 'info_article_refuse' => 'مقال مرفوض', |
|
| 355 | + 'info_article_supprime' => 'مقال محذوف', |
|
| 356 | + 'info_articles' => 'المقالات', |
|
| 357 | + 'info_articles_a_valider' => 'مقالات معروضة للتصديق', |
|
| 358 | + 'info_articles_nb' => '@nb@ مقال', |
|
| 359 | + 'info_articles_proposes' => 'المقالات المعروضة', |
|
| 360 | + 'info_articles_un' => 'مقال واحد', |
|
| 361 | + 'info_auteurs_nombre' => 'مؤلف (مؤلفون):', |
|
| 362 | + 'info_authentification_ftp' => 'التحقق ( عبر بروتوكول FTP ).', |
|
| 363 | + 'info_breves_2' => 'خبر', |
|
| 364 | + 'info_breves_nb' => '@nb@ خبر', |
|
| 365 | + 'info_breves_un' => 'خبر واحد', |
|
| 366 | + 'info_connexion_refusee' => 'رفض الاتصال', |
|
| 367 | + 'info_contact_developpeur' => 'الرجاء الاتصال بمطوّر.', |
|
| 368 | + 'info_contenance' => 'هذا الموقع يحتوي على:', |
|
| 369 | + 'info_contribution' => 'مشاركة منتديات', |
|
| 370 | + 'info_copyright' => '@spip@ برنامج حر موزع @lien_gpl@.', |
|
| 371 | + 'info_copyright_doc' => 'لمزيد من المعلومات راجع الموقع<a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 372 | + 'info_copyright_gpl' => 'بموجب الترخيص العام GPL', |
|
| 373 | + 'info_cours_edition' => 'قيد التحرير', |
|
| 374 | + 'info_creer_repertoire' => 'الرجاء إنشاء ملف أو دليل باسم', |
|
| 375 | + 'info_creer_repertoire_2' => 'داخل الدليل الفرعي <b>@repertoire@</b>، ثم:', |
|
| 376 | + 'info_creer_vignette' => 'إنشاء آلي للمصغر', |
|
| 377 | + 'info_creerdansrubrique_non_autorise' => 'لا تملك الحقوق الكافية لإنشاء اي محتوى في هذا القسم', |
|
| 378 | + 'info_deplier' => 'بسط', |
|
| 379 | + 'info_descriptif_nombre' => 'الوصف:', |
|
| 380 | + 'info_description' => 'الوصف:', |
|
| 381 | + 'info_description_2' => 'الوصف:', |
|
| 382 | + 'info_dimension' => 'الحجم:', |
|
| 383 | + 'info_documents_nb' => '@nb@ مستند', |
|
| 384 | + 'info_documents_un' => 'مستند واحد', |
|
| 385 | + 'info_ecire_message_prive' => 'تحرير رسالة خاصة', |
|
| 386 | + 'info_email_invalide' => 'عنوان بريد غير صالح.', |
|
| 387 | + 'info_en_cours_validation' => 'مقالاتك قيد التحرير', |
|
| 388 | + 'info_en_ligne' => 'متصل حالياً:', |
|
| 389 | + 'info_envoyer_message_prive' => 'ابعث برسالة خاصة لهذا المؤلف', |
|
| 390 | + 'info_erreur_requete' => 'خطأ في الاستفسار:', |
|
| 391 | + 'info_erreur_squelette2' => 'لا توجد صفحة نموذجية <b>@fichier@</b> متاحة...', |
|
| 392 | + 'info_erreur_systeme' => 'خطأ في النظام (خطأ رقم @errsys@)', |
|
| 393 | + 'info_erreur_systeme2' => 'قد يكون القرص الصلب ممتلئاً أو قد تكون قاعدة البيانات معطلة.<br /> |
|
| 394 | 394 | <span style="color:red;">حاول <a href=\'@script@\'>إصلاح القاعدة</a>، أو الاتصال بمضيف موقعك.</font> ', |
| 395 | - 'info_fini' => 'انتهى!', |
|
| 396 | - 'info_format_image' => 'تنسيق ملفات الصور الذي يمكن استخدامه لإنشاء المصغرات: @gd_formats@ .', |
|
| 397 | - 'info_format_non_defini' => 'تنسيق غير معروف', |
|
| 398 | - 'info_grand_ecran' => 'شاشة كبيرة', |
|
| 399 | - 'info_image_aide' => 'تعليمات', |
|
| 400 | - 'info_image_process_titre' => 'طريقة إنشاء المصغرات', |
|
| 401 | - 'info_impossible_lire_page' => '<b>خطأ!</b> لا يمكن قراءة الصفحة <tt><html>@test_proxy@</html></tt> عبر الجهاز الوكيل', |
|
| 402 | - 'info_installation_systeme_publication' => 'تثبيت نظام النشر...', |
|
| 403 | - 'info_installer_documents' => 'يمكنك تثبيت كل المستندات الموجودة في المجلد @upload@ آلياً.', |
|
| 404 | - 'info_installer_ftp' => 'بصفتك مديراً، يمكنك تثبيت (بواسطة بروتوكول FTP) ملفات في المجلد@upload@ من أجل تحديدهم في ما بعد مباشرة من هنا.', |
|
| 405 | - 'info_installer_images' => 'يمكنك تثبيت صور بتنسيقات JPEG وGIF وPNG.', |
|
| 406 | - 'info_installer_images_dossier' => 'تثبيت صور في المجلد @upload@ للتمكن من تحديدها هنا.', |
|
| 407 | - 'info_interface_complete' => 'واجهة كاملة', |
|
| 408 | - 'info_interface_simple' => 'واجهة مبسّطة', |
|
| 409 | - 'info_joindre_document_article' => 'يمكنك إرفاق مقالك بمستندات من الأنواع', |
|
| 410 | - 'info_joindre_document_rubrique' => 'يمكنك إضافة مستندات من الأنواع التالية إلى هذا القسم', |
|
| 411 | - 'info_joindre_documents_article' => 'يمكنك إرفاق مستندات من الأنواع التالية بمقالك :', |
|
| 412 | - 'info_l_article' => 'المقال', |
|
| 413 | - 'info_la_breve' => 'الخبر', |
|
| 414 | - 'info_la_rubrique' => 'القسم', |
|
| 415 | - 'info_langue_principale' => 'اللغة الأساسية للموقع', |
|
| 416 | - 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ نقطة', |
|
| 417 | - 'info_les_auteurs_1' => 'من @les_auteurs@', |
|
| 418 | - 'info_logo_format_interdit' => 'الرموز بتنسيق @formats@ هي الوحيدة المسموح بها.', |
|
| 419 | - 'info_logo_max_poids' => 'يجب ألا يتعدى حجم الرموز @maxi@ (يبلغ حجم الملف الحالي @actuel@). ', |
|
| 420 | - 'info_mail_fournisseur' => '[email protected]', |
|
| 421 | - 'info_message_2' => 'رسالة', |
|
| 422 | - 'info_message_supprime' => 'تم حذف المشاركة', |
|
| 423 | - 'info_messages_nb' => '@nb@ رسالة', |
|
| 424 | - 'info_messages_un' => 'رسالة واحدة', |
|
| 425 | - 'info_mise_en_ligne' => 'تاريخ النشر:', |
|
| 426 | - 'info_modification_parametres_securite' => 'تعديل إعدادات الأمان', |
|
| 427 | - 'info_mois_courant' => 'في بحر الشهر:', |
|
| 428 | - 'info_mot_cle_ajoute' => 'تمت إضافة المفتاح التالي إلى', |
|
| 429 | - 'info_multi_herit' => 'اللغة الافتراضية', |
|
| 430 | - 'info_multi_langues_soulignees' => '<u>اللغات التي تحتها خط</u> تتمتع بترجمة كاملة او جزئية لكل نصوص الواجهة. فإذا حددت هذه اللغات، سيتم ترجمة العديد من عناصر الموقع العمومي (التواريخ والاستمارات) آلياً. أما بالنسبة للغات التي ليس تحتها خط، فستظهر هذه العناصر في لغة الموقع الأساسية.', |
|
| 431 | - 'info_multilinguisme' => 'تعدد اللغات', |
|
| 432 | - 'info_nom_non_utilisateurs_connectes' => 'اسمك لا يظهر في قائمة المستخدمين المتصلين.', |
|
| 433 | - 'info_nom_utilisateurs_connectes' => 'اسمك يظهر في قائمة المستخدمين المتصلين.', |
|
| 434 | - 'info_nombre_en_ligne' => 'متصل حالياً:', |
|
| 435 | - 'info_non_resultat' => 'لا توجد نتائج لـ "@cherche_mot@"', |
|
| 436 | - 'info_non_utilisation_messagerie' => 'أنت لا تستخدم المراسلة الداخلية في هذا الموقع.', |
|
| 437 | - 'info_nouveau_message' => 'وصلت رسالة جديدة', |
|
| 438 | - 'info_nouveaux_messages' => 'وصلت @total_messages@ رسالة جديدة', |
|
| 439 | - 'info_numero_abbreviation' => 'رقم', |
|
| 440 | - 'info_obligatoire' => 'هذه المعلومة إجبارية', |
|
| 441 | - 'info_page_actuelle' => 'الصفحة الحالية', |
|
| 442 | - 'info_pense_bete' => 'مذكرة', |
|
| 443 | - 'info_petit_ecran' => 'شاشة صغيرة', |
|
| 444 | - 'info_petition_close' => 'عريضة مقفلة', |
|
| 445 | - 'info_pixels' => 'نقطة', |
|
| 446 | - 'info_plusieurs_mots_trouves' => 'تم العثور على عدة مفاتيح لـ "@cherche_mot@" :', |
|
| 447 | - 'info_portfolio_automatique' => 'محفظة آلية:', |
|
| 448 | - 'info_premier_resultat' => '[النتائج الـ@debut_limit@ الأولى من أصل @total@]', |
|
| 449 | - 'info_premier_resultat_sur' => '[النتائج الـ@debut_limit@ الأولى من أصل @total@]', |
|
| 450 | - 'info_propose_1' => '[@nom_site_spip@] يقترح: @titre@', |
|
| 451 | - 'info_propose_2' => 'مقال معروض |
|
| 395 | + 'info_fini' => 'انتهى!', |
|
| 396 | + 'info_format_image' => 'تنسيق ملفات الصور الذي يمكن استخدامه لإنشاء المصغرات: @gd_formats@ .', |
|
| 397 | + 'info_format_non_defini' => 'تنسيق غير معروف', |
|
| 398 | + 'info_grand_ecran' => 'شاشة كبيرة', |
|
| 399 | + 'info_image_aide' => 'تعليمات', |
|
| 400 | + 'info_image_process_titre' => 'طريقة إنشاء المصغرات', |
|
| 401 | + 'info_impossible_lire_page' => '<b>خطأ!</b> لا يمكن قراءة الصفحة <tt><html>@test_proxy@</html></tt> عبر الجهاز الوكيل', |
|
| 402 | + 'info_installation_systeme_publication' => 'تثبيت نظام النشر...', |
|
| 403 | + 'info_installer_documents' => 'يمكنك تثبيت كل المستندات الموجودة في المجلد @upload@ آلياً.', |
|
| 404 | + 'info_installer_ftp' => 'بصفتك مديراً، يمكنك تثبيت (بواسطة بروتوكول FTP) ملفات في المجلد@upload@ من أجل تحديدهم في ما بعد مباشرة من هنا.', |
|
| 405 | + 'info_installer_images' => 'يمكنك تثبيت صور بتنسيقات JPEG وGIF وPNG.', |
|
| 406 | + 'info_installer_images_dossier' => 'تثبيت صور في المجلد @upload@ للتمكن من تحديدها هنا.', |
|
| 407 | + 'info_interface_complete' => 'واجهة كاملة', |
|
| 408 | + 'info_interface_simple' => 'واجهة مبسّطة', |
|
| 409 | + 'info_joindre_document_article' => 'يمكنك إرفاق مقالك بمستندات من الأنواع', |
|
| 410 | + 'info_joindre_document_rubrique' => 'يمكنك إضافة مستندات من الأنواع التالية إلى هذا القسم', |
|
| 411 | + 'info_joindre_documents_article' => 'يمكنك إرفاق مستندات من الأنواع التالية بمقالك :', |
|
| 412 | + 'info_l_article' => 'المقال', |
|
| 413 | + 'info_la_breve' => 'الخبر', |
|
| 414 | + 'info_la_rubrique' => 'القسم', |
|
| 415 | + 'info_langue_principale' => 'اللغة الأساسية للموقع', |
|
| 416 | + 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ نقطة', |
|
| 417 | + 'info_les_auteurs_1' => 'من @les_auteurs@', |
|
| 418 | + 'info_logo_format_interdit' => 'الرموز بتنسيق @formats@ هي الوحيدة المسموح بها.', |
|
| 419 | + 'info_logo_max_poids' => 'يجب ألا يتعدى حجم الرموز @maxi@ (يبلغ حجم الملف الحالي @actuel@). ', |
|
| 420 | + 'info_mail_fournisseur' => '[email protected]', |
|
| 421 | + 'info_message_2' => 'رسالة', |
|
| 422 | + 'info_message_supprime' => 'تم حذف المشاركة', |
|
| 423 | + 'info_messages_nb' => '@nb@ رسالة', |
|
| 424 | + 'info_messages_un' => 'رسالة واحدة', |
|
| 425 | + 'info_mise_en_ligne' => 'تاريخ النشر:', |
|
| 426 | + 'info_modification_parametres_securite' => 'تعديل إعدادات الأمان', |
|
| 427 | + 'info_mois_courant' => 'في بحر الشهر:', |
|
| 428 | + 'info_mot_cle_ajoute' => 'تمت إضافة المفتاح التالي إلى', |
|
| 429 | + 'info_multi_herit' => 'اللغة الافتراضية', |
|
| 430 | + 'info_multi_langues_soulignees' => '<u>اللغات التي تحتها خط</u> تتمتع بترجمة كاملة او جزئية لكل نصوص الواجهة. فإذا حددت هذه اللغات، سيتم ترجمة العديد من عناصر الموقع العمومي (التواريخ والاستمارات) آلياً. أما بالنسبة للغات التي ليس تحتها خط، فستظهر هذه العناصر في لغة الموقع الأساسية.', |
|
| 431 | + 'info_multilinguisme' => 'تعدد اللغات', |
|
| 432 | + 'info_nom_non_utilisateurs_connectes' => 'اسمك لا يظهر في قائمة المستخدمين المتصلين.', |
|
| 433 | + 'info_nom_utilisateurs_connectes' => 'اسمك يظهر في قائمة المستخدمين المتصلين.', |
|
| 434 | + 'info_nombre_en_ligne' => 'متصل حالياً:', |
|
| 435 | + 'info_non_resultat' => 'لا توجد نتائج لـ "@cherche_mot@"', |
|
| 436 | + 'info_non_utilisation_messagerie' => 'أنت لا تستخدم المراسلة الداخلية في هذا الموقع.', |
|
| 437 | + 'info_nouveau_message' => 'وصلت رسالة جديدة', |
|
| 438 | + 'info_nouveaux_messages' => 'وصلت @total_messages@ رسالة جديدة', |
|
| 439 | + 'info_numero_abbreviation' => 'رقم', |
|
| 440 | + 'info_obligatoire' => 'هذه المعلومة إجبارية', |
|
| 441 | + 'info_page_actuelle' => 'الصفحة الحالية', |
|
| 442 | + 'info_pense_bete' => 'مذكرة', |
|
| 443 | + 'info_petit_ecran' => 'شاشة صغيرة', |
|
| 444 | + 'info_petition_close' => 'عريضة مقفلة', |
|
| 445 | + 'info_pixels' => 'نقطة', |
|
| 446 | + 'info_plusieurs_mots_trouves' => 'تم العثور على عدة مفاتيح لـ "@cherche_mot@" :', |
|
| 447 | + 'info_portfolio_automatique' => 'محفظة آلية:', |
|
| 448 | + 'info_premier_resultat' => '[النتائج الـ@debut_limit@ الأولى من أصل @total@]', |
|
| 449 | + 'info_premier_resultat_sur' => '[النتائج الـ@debut_limit@ الأولى من أصل @total@]', |
|
| 450 | + 'info_propose_1' => '[@nom_site_spip@] يقترح: @titre@', |
|
| 451 | + 'info_propose_2' => 'مقال معروض |
|
| 452 | 452 | ----------', |
| 453 | - 'info_propose_3' => 'المقال "@titre@" معروض للنشر.', |
|
| 454 | - 'info_propose_4' => 'أنت مدعو لمراجعته وإبداء رأيك', |
|
| 455 | - 'info_propose_5' => 'في المنتدى المرتبط به. إنه موجود على العنوان:', |
|
| 456 | - 'info_publie_01' => 'تم التصديق على المقال "@titre@" من قبل @connect_nom@ .', |
|
| 457 | - 'info_publie_1' => '[@nom_site_spip@] ينشر: @titre@', |
|
| 458 | - 'info_publie_2' => 'مقال منشور |
|
| 453 | + 'info_propose_3' => 'المقال "@titre@" معروض للنشر.', |
|
| 454 | + 'info_propose_4' => 'أنت مدعو لمراجعته وإبداء رأيك', |
|
| 455 | + 'info_propose_5' => 'في المنتدى المرتبط به. إنه موجود على العنوان:', |
|
| 456 | + 'info_publie_01' => 'تم التصديق على المقال "@titre@" من قبل @connect_nom@ .', |
|
| 457 | + 'info_publie_1' => '[@nom_site_spip@] ينشر: @titre@', |
|
| 458 | + 'info_publie_2' => 'مقال منشور |
|
| 459 | 459 | ----------', |
| 460 | - 'info_rechercher' => 'بحث', |
|
| 461 | - 'info_rechercher_02' => 'بحث:', |
|
| 462 | - 'info_remplacer_vignette' => 'استبدال المصغر الافتراضي برمز شخصي:', |
|
| 463 | - 'info_rubriques_nb' => '@nb@ قسم', |
|
| 464 | - 'info_rubriques_un' => 'قسم واحد', |
|
| 465 | - 'info_sans_titre_2' => 'بدون عنوان', |
|
| 466 | - 'info_selectionner_fichier' => 'يمكنك تحديد ملف من المجلد @upload@:', |
|
| 467 | - 'info_selectionner_fichier_2' => 'تحديد ملف:', |
|
| 468 | - 'info_sites_nb' => '@nb@ موقع', |
|
| 469 | - 'info_sites_un' => 'موقع واحد', |
|
| 470 | - 'info_supprimer_vignette' => 'حذف المصغر', |
|
| 471 | - 'info_symbole_bleu' => 'الرمز <b>أزرق</b> يرمز إلى <b>مذكرة</b>: أي رسالة لاستخدامك الشخصي.', |
|
| 472 | - 'info_symbole_jaune' => 'الرمز <b>أصفر</b> يرمز إلى <b>إعلان لجميع المحررين</b>: يمكن لجميع المدراء تحريره وهو ظاهر لجميع المحررين.', |
|
| 473 | - 'info_symbole_vert' => 'الرمز <b>أخضر</b> يرمز إلى <b>الرسائل المتبادلة بين مستخدمي</b> الموقع.', |
|
| 474 | - 'info_telecharger_nouveau_logo' => 'تحميل رمز جديد:', |
|
| 475 | - 'info_telecharger_ordinateur' => 'تحميل من جهازك:', |
|
| 476 | - 'info_tous_resultats_enregistres' => '[تم تسجيل كل النتائج]', |
|
| 477 | - 'info_tout_afficher' => 'إظهار الكل', |
|
| 478 | - 'info_travaux_texte' => 'هذا الموقع قيد الإعداد. برجاء العودة في وقت لاحق...', |
|
| 479 | - 'info_travaux_titre' => 'موقع قيد التصميم', |
|
| 480 | - 'info_trop_resultat' => 'تم العثور على عدد كبير جداً من النتائج لـ "@cherche_mot@" ، الرجاء زيادة دقة البحث.', |
|
| 481 | - 'info_utilisation_messagerie_interne' => 'أنت تستخدم المراسلة الداخلية في هذا الموقع.', |
|
| 482 | - 'info_valider_lien' => 'التصديق على هذه الوصلة', |
|
| 483 | - 'info_verifier_image' => '، الرجاء التأكد من أنه تم نقل الصور بشكل سليم.', |
|
| 484 | - 'info_vignette_defaut' => 'المصغر الافتراضي', |
|
| 485 | - 'info_vignette_personnalisee' => 'مصغر شخصي', |
|
| 486 | - 'info_visite' => 'زيارة:', |
|
| 487 | - 'info_vos_rendez_vous' => 'مواعيدك القادمة', |
|
| 488 | - 'infos_vos_pense_bete' => 'مذكراتك', |
|
| 460 | + 'info_rechercher' => 'بحث', |
|
| 461 | + 'info_rechercher_02' => 'بحث:', |
|
| 462 | + 'info_remplacer_vignette' => 'استبدال المصغر الافتراضي برمز شخصي:', |
|
| 463 | + 'info_rubriques_nb' => '@nb@ قسم', |
|
| 464 | + 'info_rubriques_un' => 'قسم واحد', |
|
| 465 | + 'info_sans_titre_2' => 'بدون عنوان', |
|
| 466 | + 'info_selectionner_fichier' => 'يمكنك تحديد ملف من المجلد @upload@:', |
|
| 467 | + 'info_selectionner_fichier_2' => 'تحديد ملف:', |
|
| 468 | + 'info_sites_nb' => '@nb@ موقع', |
|
| 469 | + 'info_sites_un' => 'موقع واحد', |
|
| 470 | + 'info_supprimer_vignette' => 'حذف المصغر', |
|
| 471 | + 'info_symbole_bleu' => 'الرمز <b>أزرق</b> يرمز إلى <b>مذكرة</b>: أي رسالة لاستخدامك الشخصي.', |
|
| 472 | + 'info_symbole_jaune' => 'الرمز <b>أصفر</b> يرمز إلى <b>إعلان لجميع المحررين</b>: يمكن لجميع المدراء تحريره وهو ظاهر لجميع المحررين.', |
|
| 473 | + 'info_symbole_vert' => 'الرمز <b>أخضر</b> يرمز إلى <b>الرسائل المتبادلة بين مستخدمي</b> الموقع.', |
|
| 474 | + 'info_telecharger_nouveau_logo' => 'تحميل رمز جديد:', |
|
| 475 | + 'info_telecharger_ordinateur' => 'تحميل من جهازك:', |
|
| 476 | + 'info_tous_resultats_enregistres' => '[تم تسجيل كل النتائج]', |
|
| 477 | + 'info_tout_afficher' => 'إظهار الكل', |
|
| 478 | + 'info_travaux_texte' => 'هذا الموقع قيد الإعداد. برجاء العودة في وقت لاحق...', |
|
| 479 | + 'info_travaux_titre' => 'موقع قيد التصميم', |
|
| 480 | + 'info_trop_resultat' => 'تم العثور على عدد كبير جداً من النتائج لـ "@cherche_mot@" ، الرجاء زيادة دقة البحث.', |
|
| 481 | + 'info_utilisation_messagerie_interne' => 'أنت تستخدم المراسلة الداخلية في هذا الموقع.', |
|
| 482 | + 'info_valider_lien' => 'التصديق على هذه الوصلة', |
|
| 483 | + 'info_verifier_image' => '، الرجاء التأكد من أنه تم نقل الصور بشكل سليم.', |
|
| 484 | + 'info_vignette_defaut' => 'المصغر الافتراضي', |
|
| 485 | + 'info_vignette_personnalisee' => 'مصغر شخصي', |
|
| 486 | + 'info_visite' => 'زيارة:', |
|
| 487 | + 'info_vos_rendez_vous' => 'مواعيدك القادمة', |
|
| 488 | + 'infos_vos_pense_bete' => 'مذكراتك', |
|
| 489 | 489 | |
| 490 | - // L |
|
| 491 | - 'label_ajout_id_rapide' => 'إضافة سريعة', |
|
| 492 | - 'label_poids_fichier' => 'الحجم', |
|
| 493 | - 'label_ponctuer' => '@label@ :', |
|
| 494 | - 'lien_afficher_icones_seuls' => 'عرض الرموز فقط', |
|
| 495 | - 'lien_afficher_texte_icones' => 'عرض الرموز والعناوين', |
|
| 496 | - 'lien_afficher_texte_seul' => 'عرض العناوين فقط', |
|
| 497 | - 'lien_aller_a_la_derniere_page' => 'الذهاب الى الصفحة الأخيرة', |
|
| 498 | - 'lien_aller_a_la_page_nb' => 'الذهاب الى الصفحة @nb@', |
|
| 499 | - 'lien_aller_a_la_page_precedente' => 'الذهاب الى الصفحة الالسابقة', |
|
| 500 | - 'lien_aller_a_la_page_suivante' => 'الذهاب الى الصفحة التالية', |
|
| 501 | - 'lien_aller_a_la_premiere_page' => 'الذهاب الى الصفحة الأولى', |
|
| 502 | - 'lien_liberer' => 'فك الحجز', |
|
| 503 | - 'lien_liberer_tous' => 'فك حجز الكل', |
|
| 504 | - 'lien_nouvea_pense_bete' => 'مذكرة جديدة', |
|
| 505 | - 'lien_nouveau_message' => 'رسالة جديدة', |
|
| 506 | - 'lien_nouvelle_annonce' => 'إعلان جديد', |
|
| 507 | - 'lien_petitions' => 'عريضة', |
|
| 508 | - 'lien_popularite' => 'شعبية: @popularite@%', |
|
| 509 | - 'lien_racine_site' => 'أصل الموقع', |
|
| 510 | - 'lien_reessayer' => 'إعادة المحاولة', |
|
| 511 | - 'lien_repondre_message' => 'الرد على هذه المشاركة', |
|
| 512 | - 'lien_supprimer' => 'حذف', |
|
| 513 | - 'lien_tout_afficher' => 'إظهار الكل', |
|
| 514 | - 'lien_visite_site' => 'زيارة هذا الموقع', |
|
| 515 | - 'lien_visites' => '@visites@ زيارة', |
|
| 516 | - 'lien_voir_auteur' => 'مراجعة هذا المؤلف', |
|
| 517 | - 'ligne' => 'سطر', |
|
| 518 | - 'login' => 'الدخول', |
|
| 519 | - 'login_acces_prive' => 'الدخول إلى المجال الخاص', |
|
| 520 | - 'login_autre_identifiant' => 'الاتصال بمعرّف آخر', |
|
| 521 | - 'login_cookie_accepte' => 'الرجاء تهيئ برنامج التصفح ليتقبلها (من هذا الموقع على الأقل)', |
|
| 522 | - 'login_cookie_oblige' => 'للتعريف عن نفسك بشكل آمن في هذا الموقع، يجب قبول الكعكات (cookies).', |
|
| 523 | - 'login_deconnexion_ok' => 'تم قطع الاتصال.', |
|
| 524 | - 'login_erreur_pass' => 'خطأ في كلمة السر.', |
|
| 525 | - 'login_espace_prive' => 'المجال الخاص', |
|
| 526 | - 'login_identifiant_inconnu' => 'المعرّف «@login@» غير معروف.', |
|
| 527 | - 'login_login' => 'المعرّف:', |
|
| 528 | - 'login_login2' => 'المعرّف او عنوان البريد الالكتروني:', |
|
| 529 | - 'login_login_pass_incorrect' => '(خطأ في المعرّف أو كلمة السر).', |
|
| 530 | - 'login_motpasseoublie' => 'هل نسيت كلمة السر؟', |
|
| 531 | - 'login_non_securise' => 'لطفا، هذه الاستمارة غير آمنة. |
|
| 490 | + // L |
|
| 491 | + 'label_ajout_id_rapide' => 'إضافة سريعة', |
|
| 492 | + 'label_poids_fichier' => 'الحجم', |
|
| 493 | + 'label_ponctuer' => '@label@ :', |
|
| 494 | + 'lien_afficher_icones_seuls' => 'عرض الرموز فقط', |
|
| 495 | + 'lien_afficher_texte_icones' => 'عرض الرموز والعناوين', |
|
| 496 | + 'lien_afficher_texte_seul' => 'عرض العناوين فقط', |
|
| 497 | + 'lien_aller_a_la_derniere_page' => 'الذهاب الى الصفحة الأخيرة', |
|
| 498 | + 'lien_aller_a_la_page_nb' => 'الذهاب الى الصفحة @nb@', |
|
| 499 | + 'lien_aller_a_la_page_precedente' => 'الذهاب الى الصفحة الالسابقة', |
|
| 500 | + 'lien_aller_a_la_page_suivante' => 'الذهاب الى الصفحة التالية', |
|
| 501 | + 'lien_aller_a_la_premiere_page' => 'الذهاب الى الصفحة الأولى', |
|
| 502 | + 'lien_liberer' => 'فك الحجز', |
|
| 503 | + 'lien_liberer_tous' => 'فك حجز الكل', |
|
| 504 | + 'lien_nouvea_pense_bete' => 'مذكرة جديدة', |
|
| 505 | + 'lien_nouveau_message' => 'رسالة جديدة', |
|
| 506 | + 'lien_nouvelle_annonce' => 'إعلان جديد', |
|
| 507 | + 'lien_petitions' => 'عريضة', |
|
| 508 | + 'lien_popularite' => 'شعبية: @popularite@%', |
|
| 509 | + 'lien_racine_site' => 'أصل الموقع', |
|
| 510 | + 'lien_reessayer' => 'إعادة المحاولة', |
|
| 511 | + 'lien_repondre_message' => 'الرد على هذه المشاركة', |
|
| 512 | + 'lien_supprimer' => 'حذف', |
|
| 513 | + 'lien_tout_afficher' => 'إظهار الكل', |
|
| 514 | + 'lien_visite_site' => 'زيارة هذا الموقع', |
|
| 515 | + 'lien_visites' => '@visites@ زيارة', |
|
| 516 | + 'lien_voir_auteur' => 'مراجعة هذا المؤلف', |
|
| 517 | + 'ligne' => 'سطر', |
|
| 518 | + 'login' => 'الدخول', |
|
| 519 | + 'login_acces_prive' => 'الدخول إلى المجال الخاص', |
|
| 520 | + 'login_autre_identifiant' => 'الاتصال بمعرّف آخر', |
|
| 521 | + 'login_cookie_accepte' => 'الرجاء تهيئ برنامج التصفح ليتقبلها (من هذا الموقع على الأقل)', |
|
| 522 | + 'login_cookie_oblige' => 'للتعريف عن نفسك بشكل آمن في هذا الموقع، يجب قبول الكعكات (cookies).', |
|
| 523 | + 'login_deconnexion_ok' => 'تم قطع الاتصال.', |
|
| 524 | + 'login_erreur_pass' => 'خطأ في كلمة السر.', |
|
| 525 | + 'login_espace_prive' => 'المجال الخاص', |
|
| 526 | + 'login_identifiant_inconnu' => 'المعرّف «@login@» غير معروف.', |
|
| 527 | + 'login_login' => 'المعرّف:', |
|
| 528 | + 'login_login2' => 'المعرّف او عنوان البريد الالكتروني:', |
|
| 529 | + 'login_login_pass_incorrect' => '(خطأ في المعرّف أو كلمة السر).', |
|
| 530 | + 'login_motpasseoublie' => 'هل نسيت كلمة السر؟', |
|
| 531 | + 'login_non_securise' => 'لطفا، هذه الاستمارة غير آمنة. |
|
| 532 | 532 | إذا كنت ترغب أن تكون كلمة سرك |
| 533 | 533 | آمنة على الشبكة، يجب تفعيل جافاسكريبت |
| 534 | 534 | في برنامج التصفح', |
| 535 | - 'login_nouvelle_tentative' => 'محاولة جديدة', |
|
| 536 | - 'login_par_ici' => 'أنت مسجّل... توجه من هنا...', |
|
| 537 | - 'login_pass2' => 'كلمة السر:', |
|
| 538 | - 'login_preferez_refuser' => '<b>إذا كنت تفضل عدم قبول الكعكات</b>، يمكنك استخدام طريقة دخول أخرى (أقل أماناً):', |
|
| 539 | - 'login_recharger' => 'وإعادة تحميل الصفحة', |
|
| 540 | - 'login_rester_identifie' => 'تذكروني', |
|
| 541 | - 'login_retour_public' => 'عودة إلى الموقع العام', |
|
| 542 | - 'login_retour_site' => 'عودة إلى الموقع العام', |
|
| 543 | - 'login_retoursitepublic' => 'عودة إلى الموقع العام', |
|
| 544 | - 'login_sans_cookie' => 'تعريف بدون الكعكة', |
|
| 545 | - 'login_securise' => 'تعريف مؤمّن', |
|
| 546 | - 'login_sinscrire' => 'تسجيل', |
|
| 547 | - 'login_test_navigateur' => 'تجربة المتصفح/إعادة الاتصال', |
|
| 548 | - 'login_verifiez_navigateur' => '(على أي حال، تأكد من أن المتصفح لم يقم بحفظ كلمة سرك...)', |
|
| 535 | + 'login_nouvelle_tentative' => 'محاولة جديدة', |
|
| 536 | + 'login_par_ici' => 'أنت مسجّل... توجه من هنا...', |
|
| 537 | + 'login_pass2' => 'كلمة السر:', |
|
| 538 | + 'login_preferez_refuser' => '<b>إذا كنت تفضل عدم قبول الكعكات</b>، يمكنك استخدام طريقة دخول أخرى (أقل أماناً):', |
|
| 539 | + 'login_recharger' => 'وإعادة تحميل الصفحة', |
|
| 540 | + 'login_rester_identifie' => 'تذكروني', |
|
| 541 | + 'login_retour_public' => 'عودة إلى الموقع العام', |
|
| 542 | + 'login_retour_site' => 'عودة إلى الموقع العام', |
|
| 543 | + 'login_retoursitepublic' => 'عودة إلى الموقع العام', |
|
| 544 | + 'login_sans_cookie' => 'تعريف بدون الكعكة', |
|
| 545 | + 'login_securise' => 'تعريف مؤمّن', |
|
| 546 | + 'login_sinscrire' => 'تسجيل', |
|
| 547 | + 'login_test_navigateur' => 'تجربة المتصفح/إعادة الاتصال', |
|
| 548 | + 'login_verifiez_navigateur' => '(على أي حال، تأكد من أن المتصفح لم يقم بحفظ كلمة سرك...)', |
|
| 549 | 549 | |
| 550 | - // M |
|
| 551 | - 'masquer_colonne' => 'حجب هذا العمود', |
|
| 552 | - 'masquer_trad' => 'حجب الترجمات', |
|
| 553 | - 'message_nouveaux_identifiants_echec' => 'لا يمكن إنشاء معرف وكلمة سر جديدين.', |
|
| 554 | - 'message_nouveaux_identifiants_echec_envoi' => 'مشكلة في إرسال المعرف وكلمة السر الجديدين.', |
|
| 555 | - 'message_nouveaux_identifiants_ok' => 'تم إرسال المعرف وكلمة السر الجديدين الى @email@.', |
|
| 556 | - 'module_fichiers_langues' => 'ملفات اللغة', |
|
| 550 | + // M |
|
| 551 | + 'masquer_colonne' => 'حجب هذا العمود', |
|
| 552 | + 'masquer_trad' => 'حجب الترجمات', |
|
| 553 | + 'message_nouveaux_identifiants_echec' => 'لا يمكن إنشاء معرف وكلمة سر جديدين.', |
|
| 554 | + 'message_nouveaux_identifiants_echec_envoi' => 'مشكلة في إرسال المعرف وكلمة السر الجديدين.', |
|
| 555 | + 'message_nouveaux_identifiants_ok' => 'تم إرسال المعرف وكلمة السر الجديدين الى @email@.', |
|
| 556 | + 'module_fichiers_langues' => 'ملفات اللغة', |
|
| 557 | 557 | |
| 558 | - // N |
|
| 559 | - 'navigateur_pas_redirige' => 'إذا لم تتم إعادة توجيه متصفحك، انقر هنا للمتابعة.', |
|
| 560 | - 'numero' => 'رقم', |
|
| 558 | + // N |
|
| 559 | + 'navigateur_pas_redirige' => 'إذا لم تتم إعادة توجيه متصفحك، انقر هنا للمتابعة.', |
|
| 560 | + 'numero' => 'رقم', |
|
| 561 | 561 | |
| 562 | - // O |
|
| 563 | - 'occurence' => 'ظهور', |
|
| 564 | - 'onglet_affacer_base' => 'حذف قاعدة البيانات', |
|
| 565 | - 'onglet_auteur' => 'المؤلف', |
|
| 566 | - 'onglet_contenu_site' => 'محتوى الموقع', |
|
| 567 | - 'onglet_evolution_visite_mod' => 'تطور', |
|
| 568 | - 'onglet_fonctions_avances' => 'الوظائف المتطورة', |
|
| 569 | - 'onglet_informations_personnelles' => 'المعلومات الشخصية', |
|
| 570 | - 'onglet_interactivite' => 'التفاعلية', |
|
| 571 | - 'onglet_messagerie' => 'المراسلة', |
|
| 572 | - 'onglet_repartition_rubrique' => 'التوزيع حسب الأقسام', |
|
| 573 | - 'onglet_save_restaur_base' => 'نسخ احتياطي / استرجاع القاعدة', |
|
| 574 | - 'onglet_vider_cache' => 'تفريغ الذاكرة المخبأة', |
|
| 562 | + // O |
|
| 563 | + 'occurence' => 'ظهور', |
|
| 564 | + 'onglet_affacer_base' => 'حذف قاعدة البيانات', |
|
| 565 | + 'onglet_auteur' => 'المؤلف', |
|
| 566 | + 'onglet_contenu_site' => 'محتوى الموقع', |
|
| 567 | + 'onglet_evolution_visite_mod' => 'تطور', |
|
| 568 | + 'onglet_fonctions_avances' => 'الوظائف المتطورة', |
|
| 569 | + 'onglet_informations_personnelles' => 'المعلومات الشخصية', |
|
| 570 | + 'onglet_interactivite' => 'التفاعلية', |
|
| 571 | + 'onglet_messagerie' => 'المراسلة', |
|
| 572 | + 'onglet_repartition_rubrique' => 'التوزيع حسب الأقسام', |
|
| 573 | + 'onglet_save_restaur_base' => 'نسخ احتياطي / استرجاع القاعدة', |
|
| 574 | + 'onglet_vider_cache' => 'تفريغ الذاكرة المخبأة', |
|
| 575 | 575 | |
| 576 | - // P |
|
| 577 | - 'pass_choix_pass' => 'الرجاء اختيار كلمة السر الجديدة:', |
|
| 578 | - 'pass_erreur' => 'خطأ', |
|
| 579 | - 'pass_erreur_acces_refuse' => '<b>خطأ:< b> لم تعد تملك حق الدخول إلى هذا الموقع.', |
|
| 580 | - 'pass_erreur_code_inconnu' => '<b>خطأ:< b> هذا المعرّف لا يتناسب مع أي من الزوار الذين يتمتعون بحق الدخول إلى هذا الموقع.', |
|
| 581 | - 'pass_erreur_non_enregistre' => '<b>خطأ:< b> العنوان <tt>@email_oubli@</tt> ليس مسجلاً في هذا الموقع.', |
|
| 582 | - 'pass_erreur_non_valide' => '<b>خطأ:< b> العنوان <tt>@email_oubli@</tt> ليس صالحاً.', |
|
| 583 | - 'pass_erreur_probleme_technique' => '<b>خطأ:< b> لم يتم بعث هذه الرسالة بسبب مشكلة تقنية.', |
|
| 584 | - 'pass_espace_prive_bla' => 'المجال الخاص لهذا الموقع مفتوح |
|
| 576 | + // P |
|
| 577 | + 'pass_choix_pass' => 'الرجاء اختيار كلمة السر الجديدة:', |
|
| 578 | + 'pass_erreur' => 'خطأ', |
|
| 579 | + 'pass_erreur_acces_refuse' => '<b>خطأ:< b> لم تعد تملك حق الدخول إلى هذا الموقع.', |
|
| 580 | + 'pass_erreur_code_inconnu' => '<b>خطأ:< b> هذا المعرّف لا يتناسب مع أي من الزوار الذين يتمتعون بحق الدخول إلى هذا الموقع.', |
|
| 581 | + 'pass_erreur_non_enregistre' => '<b>خطأ:< b> العنوان <tt>@email_oubli@</tt> ليس مسجلاً في هذا الموقع.', |
|
| 582 | + 'pass_erreur_non_valide' => '<b>خطأ:< b> العنوان <tt>@email_oubli@</tt> ليس صالحاً.', |
|
| 583 | + 'pass_erreur_probleme_technique' => '<b>خطأ:< b> لم يتم بعث هذه الرسالة بسبب مشكلة تقنية.', |
|
| 584 | + 'pass_espace_prive_bla' => 'المجال الخاص لهذا الموقع مفتوح |
|
| 585 | 585 | للزوار بعد تسجيلهم. بعد تسجيلك |
| 586 | 586 | يمكنك مراجعة المقالات قيد التحرير |
| 587 | 587 | واقتراح مقالات والمشاركة في كل المنتديات.', |
| 588 | - 'pass_forum_bla' => 'طلبت المشاركة في منتدى |
|
| 588 | + 'pass_forum_bla' => 'طلبت المشاركة في منتدى |
|
| 589 | 589 | محصور بالزوار المسجلين.', |
| 590 | - 'pass_indiquez_cidessous' => 'قم بإدخال العنوان الإلكتروني الذي |
|
| 590 | + 'pass_indiquez_cidessous' => 'قم بإدخال العنوان الإلكتروني الذي |
|
| 591 | 591 | تسجلت بواستطه سابقاً. |
| 592 | 592 | ستحصل على رسالة تفسر لك كيفية |
| 593 | 593 | استعادة دخولك.', |
| 594 | - 'pass_mail_passcookie' => '(هذه رسالة آلية) |
|
| 594 | + 'pass_mail_passcookie' => '(هذه رسالة آلية) |
|
| 595 | 595 | لاستعادة دخولك إلى الموقع |
| 596 | 596 | @nom_site_spip@ (@adresse_site@) |
| 597 | 597 | |
@@ -603,146 +603,146 @@ discard block |
||
| 603 | 603 | وإعادة الاتصال بالموقع. |
| 604 | 604 | |
| 605 | 605 | ', |
| 606 | - 'pass_mot_oublie' => 'نسيان كلمة السر', |
|
| 607 | - 'pass_nouveau_enregistre' => 'تم تسجيل كلمة سرك الجديدة.', |
|
| 608 | - 'pass_nouveau_pass' => 'كلمة السر الجديدة', |
|
| 609 | - 'pass_ok' => 'موافق', |
|
| 610 | - 'pass_oubli_mot' => 'نسيان كلمة السر', |
|
| 611 | - 'pass_procedure_changer' => 'من أجل تغيير كلمة السر، قم بأدخال عنوان البريد الالكتروني المرتبط بحسابك.', |
|
| 612 | - 'pass_quitter_fenetre' => 'إقفال هذه النافذة', |
|
| 613 | - 'pass_rappel_login' => 'تذكير: معرّفك هو «@login@».', |
|
| 614 | - 'pass_recevoir_mail' => 'تم ارسال رابط لإعادة تأصيل كلمة السر الى عنوان البريد لديك (اذا كان صالحاً).', |
|
| 615 | - 'pass_retour_public' => 'عودة إلى الموقع العام', |
|
| 616 | - 'pass_rien_a_faire_ici' => 'لا شغل لك هنا.', |
|
| 617 | - 'pass_vousinscrire' => 'تسجيلك في الموقع', |
|
| 618 | - 'precedent' => 'السابق', |
|
| 619 | - 'previsualisation' => 'عرض مسبق', |
|
| 620 | - 'previsualiser' => 'عرض مسبق', |
|
| 606 | + 'pass_mot_oublie' => 'نسيان كلمة السر', |
|
| 607 | + 'pass_nouveau_enregistre' => 'تم تسجيل كلمة سرك الجديدة.', |
|
| 608 | + 'pass_nouveau_pass' => 'كلمة السر الجديدة', |
|
| 609 | + 'pass_ok' => 'موافق', |
|
| 610 | + 'pass_oubli_mot' => 'نسيان كلمة السر', |
|
| 611 | + 'pass_procedure_changer' => 'من أجل تغيير كلمة السر، قم بأدخال عنوان البريد الالكتروني المرتبط بحسابك.', |
|
| 612 | + 'pass_quitter_fenetre' => 'إقفال هذه النافذة', |
|
| 613 | + 'pass_rappel_login' => 'تذكير: معرّفك هو «@login@».', |
|
| 614 | + 'pass_recevoir_mail' => 'تم ارسال رابط لإعادة تأصيل كلمة السر الى عنوان البريد لديك (اذا كان صالحاً).', |
|
| 615 | + 'pass_retour_public' => 'عودة إلى الموقع العام', |
|
| 616 | + 'pass_rien_a_faire_ici' => 'لا شغل لك هنا.', |
|
| 617 | + 'pass_vousinscrire' => 'تسجيلك في الموقع', |
|
| 618 | + 'precedent' => 'السابق', |
|
| 619 | + 'previsualisation' => 'عرض مسبق', |
|
| 620 | + 'previsualiser' => 'عرض مسبق', |
|
| 621 | 621 | |
| 622 | - // R |
|
| 623 | - 'retour' => 'عودة', |
|
| 622 | + // R |
|
| 623 | + 'retour' => 'عودة', |
|
| 624 | 624 | |
| 625 | - // S |
|
| 626 | - 'spip_conforme_dtd' => 'يعتبر SPIP أن هذا المستند مطابق لتحديد DOCTYPE:', |
|
| 627 | - 'squelette' => 'صفحة نموذجية', |
|
| 628 | - 'squelette_inclus_ligne' => 'صفحة نموذجية مدمجة، سطر', |
|
| 629 | - 'squelette_ligne' => 'صفحة نموذجية، سطر', |
|
| 630 | - 'stats_visites_et_popularite' => '@visites@ زيارة؛ شعبية: @popularite@', |
|
| 631 | - 'suivant' => 'التالي', |
|
| 625 | + // S |
|
| 626 | + 'spip_conforme_dtd' => 'يعتبر SPIP أن هذا المستند مطابق لتحديد DOCTYPE:', |
|
| 627 | + 'squelette' => 'صفحة نموذجية', |
|
| 628 | + 'squelette_inclus_ligne' => 'صفحة نموذجية مدمجة، سطر', |
|
| 629 | + 'squelette_ligne' => 'صفحة نموذجية، سطر', |
|
| 630 | + 'stats_visites_et_popularite' => '@visites@ زيارة؛ شعبية: @popularite@', |
|
| 631 | + 'suivant' => 'التالي', |
|
| 632 | 632 | |
| 633 | - // T |
|
| 634 | - 'taille_go' => '@taille@ غيغابايت', |
|
| 635 | - 'taille_ko' => '@taille@ كيلوبايت', |
|
| 636 | - 'taille_mo' => '@taille@ ميغابايت', |
|
| 637 | - 'taille_octets' => '@taille@ بايت', |
|
| 638 | - 'texte_actualite_site_1' => 'عندما تتأقلم مع واجهة النظام انقر على «', |
|
| 639 | - 'texte_actualite_site_2' => 'الواجهة الكاملة', |
|
| 640 | - 'texte_actualite_site_3' => '» لإتاحة المزيد من الوظائف.', |
|
| 641 | - 'texte_creation_automatique_vignette' => 'لقد تم تفعيل الإنشاء الآلي لمصغرات المعاينة. إذا استخدمت هذه الاستمارة لإدخال صور بتنسيق (أو تنسيقات) @gd_formats@، سيتم تزويدها بمصغر لا يزيد حجمه عن @taille_preview@ نقطة. ', |
|
| 642 | - 'texte_documents_associes' => 'المستندات التالية ترافق المقال، |
|
| 633 | + // T |
|
| 634 | + 'taille_go' => '@taille@ غيغابايت', |
|
| 635 | + 'taille_ko' => '@taille@ كيلوبايت', |
|
| 636 | + 'taille_mo' => '@taille@ ميغابايت', |
|
| 637 | + 'taille_octets' => '@taille@ بايت', |
|
| 638 | + 'texte_actualite_site_1' => 'عندما تتأقلم مع واجهة النظام انقر على «', |
|
| 639 | + 'texte_actualite_site_2' => 'الواجهة الكاملة', |
|
| 640 | + 'texte_actualite_site_3' => '» لإتاحة المزيد من الوظائف.', |
|
| 641 | + 'texte_creation_automatique_vignette' => 'لقد تم تفعيل الإنشاء الآلي لمصغرات المعاينة. إذا استخدمت هذه الاستمارة لإدخال صور بتنسيق (أو تنسيقات) @gd_formats@، سيتم تزويدها بمصغر لا يزيد حجمه عن @taille_preview@ نقطة. ', |
|
| 642 | + 'texte_documents_associes' => 'المستندات التالية ترافق المقال، |
|
| 643 | 643 | لكنها لم تُدرج |
| 644 | 644 | مباشرة. بالاعتماد على تصميم الموقع العمومي، |
| 645 | 645 | قد تظهر على شكل مستندات مرفقة.', |
| 646 | - 'texte_erreur_mise_niveau_base' => 'خطأ في قاعدة البيانات خلال الترقية. |
|
| 646 | + 'texte_erreur_mise_niveau_base' => 'خطأ في قاعدة البيانات خلال الترقية. |
|
| 647 | 647 | تعذر تمرير الصورة <b>@fichier@</b> (المقال @id_article@). |
| 648 | 648 | سجل هذا المرجع وحاول إعادة عملية |
| 649 | 649 | الترقية، وأخيراً تأكد من أن الصور لا تزال تظهر |
| 650 | 650 | في المقالات.', |
| 651 | - 'texte_erreur_visiteur' => 'حاولت الدخول إلى المجال الخاص بمعرّف لا يسمح بذلك.', |
|
| 652 | - 'texte_inc_auth_1' => 'عرّفت عن نفسك |
|
| 651 | + 'texte_erreur_visiteur' => 'حاولت الدخول إلى المجال الخاص بمعرّف لا يسمح بذلك.', |
|
| 652 | + 'texte_inc_auth_1' => 'عرّفت عن نفسك |
|
| 653 | 653 | بالمعرّف <b>@auth_login@</b>، لكنه غير (لم يعد) موجود في قاعدة البيانات. |
| 654 | 654 | حاول ', |
| 655 | - 'texte_inc_auth_2' => 'إعادة الاتصال', |
|
| 656 | - 'texte_inc_auth_3' => '، بعد إنهاء المتصفح ثم |
|
| 655 | + 'texte_inc_auth_2' => 'إعادة الاتصال', |
|
| 656 | + 'texte_inc_auth_3' => '، بعد إنهاء المتصفح ثم |
|
| 657 | 657 | إعادة تشغيله إذا اقتضت الحاجة.', |
| 658 | - 'texte_inc_config' => 'التغييرات الداخلة على هذه الصفحة تؤثر بشكل ملحوظ على |
|
| 658 | + 'texte_inc_config' => 'التغييرات الداخلة على هذه الصفحة تؤثر بشكل ملحوظ على |
|
| 659 | 659 | تشغيل الموقع. يستحسن عدم إدخال تغييرات قبل |
| 660 | 660 | التأقلم مع نظام SPIP للنشر. <br /><br /><b>بشكل |
| 661 | 661 | عام، ننصحك |
| 662 | 662 | بحصر التعامل مع هذه الصفحات بالمسؤول الأساسي عن تصميم الموقع.</b>', |
| 663 | - 'texte_inc_meta_1' => 'واجه النظام خطأً خلال كتابة الملف <code>@fichier@</code>. بصفتك أحد مدراء الموقع، الرجاء', |
|
| 664 | - 'texte_inc_meta_2' => 'التأكد من حقوق الكتابة', |
|
| 665 | - 'texte_inc_meta_3' => 'الخاصة بالدليل <code>@repertoire@</code>. ', |
|
| 666 | - 'texte_statut_en_cours_redaction' => 'قيد التحرير', |
|
| 667 | - 'texte_statut_poubelle' => 'إلى المهملات', |
|
| 668 | - 'texte_statut_propose_evaluation' => 'معروض للتقييم', |
|
| 669 | - 'texte_statut_publie' => 'منشور', |
|
| 670 | - 'texte_statut_refuse' => 'مرفوض', |
|
| 671 | - 'titre_ajouter_mot_cle' => 'إضافة مفتاح:', |
|
| 672 | - 'titre_cadre_raccourcis' => 'اختصارات:', |
|
| 673 | - 'titre_changer_couleur_interface' => 'تغيير لون الواجهة', |
|
| 674 | - 'titre_image_admin_article' => 'أنت مخول إدارة هذا المقال', |
|
| 675 | - 'titre_image_administrateur' => 'مدير', |
|
| 676 | - 'titre_image_aide' => 'تعليمات حول هذا العنصر', |
|
| 677 | - 'titre_image_auteur_supprime' => 'مؤلف محذوف', |
|
| 678 | - 'titre_image_redacteur' => 'محرر دون إذن دخول', |
|
| 679 | - 'titre_image_redacteur_02' => 'محرر', |
|
| 680 | - 'titre_image_selecteur' => 'عرض القائمة', |
|
| 681 | - 'titre_image_visiteur' => 'زائر', |
|
| 682 | - 'titre_joindre_document' => 'إرفاق مستند', |
|
| 683 | - 'titre_mots_cles' => 'المفاتيح', |
|
| 684 | - 'titre_probleme_technique' => 'تحذير: مشكلة تقنية (خادم SQL) تمنع الدخول إلى هذا الجزء من الموقع. شكراً على تفهمكم.', |
|
| 685 | - 'titre_publier_document' => 'نشر مستند في هذا القسم', |
|
| 686 | - 'titre_signatures_attente' => 'تواقيع بانتظار التصديق', |
|
| 687 | - 'titre_signatures_confirmees' => 'توقيعات مصدّقة', |
|
| 688 | - 'titre_statistiques' => 'إحصاءات الموقع', |
|
| 689 | - 'titre_titre_document' => 'اسم المستند: ', |
|
| 690 | - 'todo' => 'قريباً', |
|
| 691 | - 'trad_definir_reference' => 'اختيار "@titre@" كمرجع للترجمات', |
|
| 692 | - 'trad_reference' => '(مرجع الترجمات)', |
|
| 663 | + 'texte_inc_meta_1' => 'واجه النظام خطأً خلال كتابة الملف <code>@fichier@</code>. بصفتك أحد مدراء الموقع، الرجاء', |
|
| 664 | + 'texte_inc_meta_2' => 'التأكد من حقوق الكتابة', |
|
| 665 | + 'texte_inc_meta_3' => 'الخاصة بالدليل <code>@repertoire@</code>. ', |
|
| 666 | + 'texte_statut_en_cours_redaction' => 'قيد التحرير', |
|
| 667 | + 'texte_statut_poubelle' => 'إلى المهملات', |
|
| 668 | + 'texte_statut_propose_evaluation' => 'معروض للتقييم', |
|
| 669 | + 'texte_statut_publie' => 'منشور', |
|
| 670 | + 'texte_statut_refuse' => 'مرفوض', |
|
| 671 | + 'titre_ajouter_mot_cle' => 'إضافة مفتاح:', |
|
| 672 | + 'titre_cadre_raccourcis' => 'اختصارات:', |
|
| 673 | + 'titre_changer_couleur_interface' => 'تغيير لون الواجهة', |
|
| 674 | + 'titre_image_admin_article' => 'أنت مخول إدارة هذا المقال', |
|
| 675 | + 'titre_image_administrateur' => 'مدير', |
|
| 676 | + 'titre_image_aide' => 'تعليمات حول هذا العنصر', |
|
| 677 | + 'titre_image_auteur_supprime' => 'مؤلف محذوف', |
|
| 678 | + 'titre_image_redacteur' => 'محرر دون إذن دخول', |
|
| 679 | + 'titre_image_redacteur_02' => 'محرر', |
|
| 680 | + 'titre_image_selecteur' => 'عرض القائمة', |
|
| 681 | + 'titre_image_visiteur' => 'زائر', |
|
| 682 | + 'titre_joindre_document' => 'إرفاق مستند', |
|
| 683 | + 'titre_mots_cles' => 'المفاتيح', |
|
| 684 | + 'titre_probleme_technique' => 'تحذير: مشكلة تقنية (خادم SQL) تمنع الدخول إلى هذا الجزء من الموقع. شكراً على تفهمكم.', |
|
| 685 | + 'titre_publier_document' => 'نشر مستند في هذا القسم', |
|
| 686 | + 'titre_signatures_attente' => 'تواقيع بانتظار التصديق', |
|
| 687 | + 'titre_signatures_confirmees' => 'توقيعات مصدّقة', |
|
| 688 | + 'titre_statistiques' => 'إحصاءات الموقع', |
|
| 689 | + 'titre_titre_document' => 'اسم المستند: ', |
|
| 690 | + 'todo' => 'قريباً', |
|
| 691 | + 'trad_definir_reference' => 'اختيار "@titre@" كمرجع للترجمات', |
|
| 692 | + 'trad_reference' => '(مرجع الترجمات)', |
|
| 693 | 693 | |
| 694 | - // U |
|
| 695 | - 'upload_limit' => 'حجم هذا الملف أكبر مما يتحمل جهاز الخدمة: الحجم الأقصى المسموح به <b>للتنزيل</b> هو @max@.', |
|
| 694 | + // U |
|
| 695 | + 'upload_limit' => 'حجم هذا الملف أكبر مما يتحمل جهاز الخدمة: الحجم الأقصى المسموح به <b>للتنزيل</b> هو @max@.', |
|
| 696 | 696 | |
| 697 | - // Z |
|
| 698 | - 'zbug_balise_b_aval' => ': العلامة B متأخرة', |
|
| 699 | - 'zbug_balise_inexistante' => 'خطأ في الاعلان عن العلامة @balise@ لـ@from@', |
|
| 700 | - 'zbug_balise_sans_argument' => 'عامل غير موجود في علامة @balise@', |
|
| 701 | - 'zbug_boucle' => 'حلقة', |
|
| 702 | - 'zbug_boucle_recursive_undef' => 'حلقة دورية غير معرّفة: @nom@', |
|
| 703 | - 'zbug_calcul' => 'حساب', |
|
| 704 | - 'zbug_champ_hors_boucle' => 'الحقل @champ@ خارج الحلقة', |
|
| 705 | - 'zbug_champ_hors_critere' => 'الحقل @champ@ خارج المقياس @critere@', |
|
| 706 | - 'zbug_champ_hors_motif' => 'الحقل @champ@ خارج سياق @motif@', |
|
| 707 | - 'zbug_code' => 'الرموز البرمجية', |
|
| 708 | - 'zbug_critere_inconnu' => 'معيار غير معروف @critere@', |
|
| 709 | - 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} على جدول دون مفتاح اساسي افرادي', |
|
| 710 | - 'zbug_distant_interdit' => 'عملية خارجية ممنوعة', |
|
| 711 | - 'zbug_doublon_table_sans_cle_primaire' => 'قيمة مكررة في جدول لا يملك مفتاح أساسي', |
|
| 712 | - 'zbug_doublon_table_sans_index' => 'تكرار في جدول غير مفهرس', |
|
| 713 | - 'zbug_erreur_boucle_double' => 'تعريف متكرر للحلقة @id@', |
|
| 714 | - 'zbug_erreur_boucle_fermant' => 'علامة إغلاق غائبة في حلقة @id@', |
|
| 715 | - 'zbug_erreur_boucle_syntaxe' => 'تركيب حلقة @id@ غير صحيح', |
|
| 716 | - 'zbug_erreur_compilation' => 'خطأ تصنيف', |
|
| 717 | - 'zbug_erreur_execution_page' => 'خطأ في التنفيذ', |
|
| 718 | - 'zbug_erreur_filtre' => 'المرشح @filtre@ غير معرّف ', |
|
| 719 | - 'zbug_erreur_filtre_nbarg_min' => 'المرشح @filtre@ : ينقص @nb@ عامل', |
|
| 720 | - 'zbug_erreur_meme_parent' => 'لا ينطبق معيار {meme_parent} إلا على حلقتي (FORUMS) أو (RUBRIQUES)', |
|
| 721 | - 'zbug_erreur_squelette' => 'خطأ في الصفحة النموذجية', |
|
| 722 | - 'zbug_hors_compilation' => 'خارج التصنيف', |
|
| 723 | - 'zbug_info_erreur_squelette' => 'خطأ في الموفع', |
|
| 724 | - 'zbug_inversion_ordre_inexistant' => 'عكس ترتيب غير موجود أصلاً', |
|
| 725 | - 'zbug_pagination_sans_critere' => 'علامة PAGINATION# بدون معيار {pagination} أو مستخدمة في حلقة دورية', |
|
| 726 | - 'zbug_parametres_inclus_incorrects' => 'عامل إدراج غير صحيحة: @param@', |
|
| 727 | - 'zbug_profile' => 'فترة المعالجة: @time@', |
|
| 728 | - 'zbug_resultat' => 'النتيجة', |
|
| 729 | - 'zbug_serveur_indefini' => 'خادم SQL غير محدد', |
|
| 730 | - 'zbug_statistiques' => 'احصاءات استفسارات SQL مرتبة حسب المدة', |
|
| 731 | - 'zbug_table_inconnue' => 'جدول SQL هو «@table@» غير معروف', |
|
| 732 | - 'zxml_connus_attributs' => 'خاصيات معروفة', |
|
| 733 | - 'zxml_de' => 'من', |
|
| 734 | - 'zxml_inconnu_attribut' => 'خاصية غير معروفة', |
|
| 735 | - 'zxml_inconnu_balise' => 'علامة غير معروفة', |
|
| 736 | - 'zxml_inconnu_entite' => 'كائن غير معروف', |
|
| 737 | - 'zxml_inconnu_id' => 'هوية ID غير معروفة', |
|
| 738 | - 'zxml_mais_de' => 'لكن من', |
|
| 739 | - 'zxml_non_conforme' => 'غير مطابق للشكل', |
|
| 740 | - 'zxml_non_fils' => 'ليس من سلالة', |
|
| 741 | - 'zxml_nonvide_balise' => 'علامة غير فارغة', |
|
| 742 | - 'zxml_obligatoire_attribut' => 'خاصية إجبارية لكنها غير موجودة في', |
|
| 743 | - 'zxml_succession_fils_incorrecte' => 'تتابع سلالات غير سليم', |
|
| 744 | - 'zxml_survoler' => 'الحوم لعرض الصحيح', |
|
| 745 | - 'zxml_valeur_attribut' => 'قيمة الخاصية', |
|
| 746 | - 'zxml_vide_balise' => 'علامة فارغة', |
|
| 747 | - 'zxml_vu' => 'ظهر مسبقاً' |
|
| 697 | + // Z |
|
| 698 | + 'zbug_balise_b_aval' => ': العلامة B متأخرة', |
|
| 699 | + 'zbug_balise_inexistante' => 'خطأ في الاعلان عن العلامة @balise@ لـ@from@', |
|
| 700 | + 'zbug_balise_sans_argument' => 'عامل غير موجود في علامة @balise@', |
|
| 701 | + 'zbug_boucle' => 'حلقة', |
|
| 702 | + 'zbug_boucle_recursive_undef' => 'حلقة دورية غير معرّفة: @nom@', |
|
| 703 | + 'zbug_calcul' => 'حساب', |
|
| 704 | + 'zbug_champ_hors_boucle' => 'الحقل @champ@ خارج الحلقة', |
|
| 705 | + 'zbug_champ_hors_critere' => 'الحقل @champ@ خارج المقياس @critere@', |
|
| 706 | + 'zbug_champ_hors_motif' => 'الحقل @champ@ خارج سياق @motif@', |
|
| 707 | + 'zbug_code' => 'الرموز البرمجية', |
|
| 708 | + 'zbug_critere_inconnu' => 'معيار غير معروف @critere@', |
|
| 709 | + 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} على جدول دون مفتاح اساسي افرادي', |
|
| 710 | + 'zbug_distant_interdit' => 'عملية خارجية ممنوعة', |
|
| 711 | + 'zbug_doublon_table_sans_cle_primaire' => 'قيمة مكررة في جدول لا يملك مفتاح أساسي', |
|
| 712 | + 'zbug_doublon_table_sans_index' => 'تكرار في جدول غير مفهرس', |
|
| 713 | + 'zbug_erreur_boucle_double' => 'تعريف متكرر للحلقة @id@', |
|
| 714 | + 'zbug_erreur_boucle_fermant' => 'علامة إغلاق غائبة في حلقة @id@', |
|
| 715 | + 'zbug_erreur_boucle_syntaxe' => 'تركيب حلقة @id@ غير صحيح', |
|
| 716 | + 'zbug_erreur_compilation' => 'خطأ تصنيف', |
|
| 717 | + 'zbug_erreur_execution_page' => 'خطأ في التنفيذ', |
|
| 718 | + 'zbug_erreur_filtre' => 'المرشح @filtre@ غير معرّف ', |
|
| 719 | + 'zbug_erreur_filtre_nbarg_min' => 'المرشح @filtre@ : ينقص @nb@ عامل', |
|
| 720 | + 'zbug_erreur_meme_parent' => 'لا ينطبق معيار {meme_parent} إلا على حلقتي (FORUMS) أو (RUBRIQUES)', |
|
| 721 | + 'zbug_erreur_squelette' => 'خطأ في الصفحة النموذجية', |
|
| 722 | + 'zbug_hors_compilation' => 'خارج التصنيف', |
|
| 723 | + 'zbug_info_erreur_squelette' => 'خطأ في الموفع', |
|
| 724 | + 'zbug_inversion_ordre_inexistant' => 'عكس ترتيب غير موجود أصلاً', |
|
| 725 | + 'zbug_pagination_sans_critere' => 'علامة PAGINATION# بدون معيار {pagination} أو مستخدمة في حلقة دورية', |
|
| 726 | + 'zbug_parametres_inclus_incorrects' => 'عامل إدراج غير صحيحة: @param@', |
|
| 727 | + 'zbug_profile' => 'فترة المعالجة: @time@', |
|
| 728 | + 'zbug_resultat' => 'النتيجة', |
|
| 729 | + 'zbug_serveur_indefini' => 'خادم SQL غير محدد', |
|
| 730 | + 'zbug_statistiques' => 'احصاءات استفسارات SQL مرتبة حسب المدة', |
|
| 731 | + 'zbug_table_inconnue' => 'جدول SQL هو «@table@» غير معروف', |
|
| 732 | + 'zxml_connus_attributs' => 'خاصيات معروفة', |
|
| 733 | + 'zxml_de' => 'من', |
|
| 734 | + 'zxml_inconnu_attribut' => 'خاصية غير معروفة', |
|
| 735 | + 'zxml_inconnu_balise' => 'علامة غير معروفة', |
|
| 736 | + 'zxml_inconnu_entite' => 'كائن غير معروف', |
|
| 737 | + 'zxml_inconnu_id' => 'هوية ID غير معروفة', |
|
| 738 | + 'zxml_mais_de' => 'لكن من', |
|
| 739 | + 'zxml_non_conforme' => 'غير مطابق للشكل', |
|
| 740 | + 'zxml_non_fils' => 'ليس من سلالة', |
|
| 741 | + 'zxml_nonvide_balise' => 'علامة غير فارغة', |
|
| 742 | + 'zxml_obligatoire_attribut' => 'خاصية إجبارية لكنها غير موجودة في', |
|
| 743 | + 'zxml_succession_fils_incorrecte' => 'تتابع سلالات غير سليم', |
|
| 744 | + 'zxml_survoler' => 'الحوم لعرض الصحيح', |
|
| 745 | + 'zxml_valeur_attribut' => 'قيمة الخاصية', |
|
| 746 | + 'zxml_vide_balise' => 'علامة فارغة', |
|
| 747 | + 'zxml_vu' => 'ظهر مسبقاً' |
|
| 748 | 748 | ); |
@@ -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' => 'الصفحة الرئيسية', |
|
| 14 | - 'article' => 'مقال', |
|
| 15 | - 'articles' => 'المقالات', |
|
| 16 | - 'articles_auteur' => 'مقالات هذا المؤلف', |
|
| 17 | - 'articles_populaires' => 'المقالات الأكثر شعبية', |
|
| 18 | - 'articles_rubrique' => 'مقالات هذا القسم', |
|
| 19 | - 'aucun_article' => 'لا توجد مقالات على هذا العنوان', |
|
| 20 | - 'aucun_auteur' => 'لا يوجد مؤلفون على هذا العنوان', |
|
| 21 | - 'aucun_site' => 'لا توجد مواقع على هذا العنوان', |
|
| 22 | - 'aucune_breve' => 'لا توجد أخبار على هذا العنوان', |
|
| 23 | - 'aucune_rubrique' => 'لا توجد أقسام على هذا العنوان', |
|
| 24 | - 'auteur' => 'مؤلف', |
|
| 25 | - 'autres' => 'آخرون', |
|
| 26 | - 'autres_breves' => 'أخبار أخرى', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'مجموعات مفاتيح أخرى', |
|
| 28 | - 'autres_sites' => 'مواقع أخرى', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'أهلاً وسهلاً', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'تعليق على هذا الموقع', |
|
| 35 | - 'contact' => 'للاتصال', |
|
| 36 | - 'copie_document_impossible' => 'لا يمكن نسخ المستند', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'التاريخ', |
|
| 40 | - 'dernier_ajout' => 'آخر إضافة', |
|
| 41 | - 'dernieres_breves' => 'آخر الأخبار', |
|
| 42 | - 'derniers_articles' => 'آخر المقالات', |
|
| 43 | - 'derniers_commentaires' => 'آخر التعليقات', |
|
| 44 | - 'derniers_messages_forum' => 'آخر المشاركات المنشورة في المنتديات', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'النشرة في وضعية النصوص', |
|
| 48 | - 'en_reponse' => 'رداً على:', |
|
| 49 | - 'en_resume' => 'باختصار', |
|
| 50 | - 'envoyer_message' => 'إرسال مشاركة', |
|
| 51 | - 'espace_prive' => 'المجال الخاص', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'التنسيقات المسموحة: @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'هرمية الموقع', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'يوم', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'دخول', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'من نفس المؤلف', |
|
| 67 | - 'meme_rubrique' => 'في هذا القسم أيضاً', |
|
| 68 | - 'memes_auteurs' => 'من المؤلفين نفسهم ايضاً', |
|
| 69 | - 'message' => 'مشاركة', |
|
| 70 | - 'messages_forum' => 'مشاركة منتدى', |
|
| 71 | - 'messages_recents' => 'أحدث المشاركات', |
|
| 72 | - 'mots_clef' => 'مفتاح', |
|
| 73 | - 'mots_clefs' => 'المفاتيح', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'المفاتيح الأخرى في هذه المجموعة', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'تصفح', |
|
| 78 | - 'nom' => 'الاسم', |
|
| 79 | - 'nouveautes' => 'الجديد', |
|
| 80 | - 'nouveautes_web' => 'الجديد على النسيج', |
|
| 81 | - 'nouveaux_articles' => 'المقالات الجديدة', |
|
| 82 | - 'nouvelles_breves' => 'الأخبار الجديدة', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'الصفحة السابقة', |
|
| 86 | - 'page_suivante' => 'الصفحة التالية', |
|
| 87 | - 'par_auteur' => 'بقلم ', |
|
| 88 | - 'participer_site' => 'يمكنك المشاركة في هذا الموقع، بالتسجيل أدناه ونشر مقالاتك. وبعد التسجيل، سوف تصلك رسالة فورية بالبريد الإلكتروني تتضمن معرفك الخاص الذي يسمح لك بالدخول الى المجال الخاص.', |
|
| 89 | - 'plan_site' => 'خريطة الموقع', |
|
| 90 | - 'popularite' => 'الشعبية', |
|
| 91 | - 'poster_message' => 'إبعث برسالة', |
|
| 92 | - 'proposer_site' => 'يمكنك افتراح إضافة موقع الى هذا القسم:', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'الرد على هذا المقال', |
|
| 96 | - 'repondre_breve' => 'الرد على هذا الخبر', |
|
| 97 | - 'resultats_recherche' => 'نتائج البحث', |
|
| 98 | - 'retour_debut_forums' => 'عودة الى بداية المنتديات', |
|
| 99 | - 'rss_abonnement' => 'نسخ عن،ان URL التالي في مجمّع RSS:', |
|
| 100 | - 'rss_abonnement_titre' => 'الاشتراك', |
|
| 101 | - 'rss_abonnement_titre_page' => 'الاشتراك في', |
|
| 102 | - 'rss_explication' => 'يجمع خيط RSS معلومات حول تحديث موقع. ويوفر محتوى تذاكر التحديث او التعليقات او مقتطفات منها إضافة الى رابط الى المحتويات الكاملة وبعض المعلومات الإضافية. هذا الخيط يُقرأ بواسطة مجمّع RSS.', |
|
| 103 | - 'rss_explication_titre' => 'ما هو تدفق RSS؟', |
|
| 104 | - 'rubrique' => 'القسم', |
|
| 105 | - 'rubriques' => 'الأقسام', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'التوقيعات', |
|
| 109 | - 'site_realise_avec_spip' => 'موقع صمم بنظام SPIP', |
|
| 110 | - 'sites_web' => 'مواقع النسيج', |
|
| 111 | - 'sous_rubriques' => 'الأقسام الفرعية', |
|
| 112 | - 'spam' => 'خنزرة', |
|
| 113 | - 'suite' => 'تتمة', |
|
| 114 | - 'sur_web' => 'على النسيج', |
|
| 115 | - 'syndiquer_rubrique' => 'ترخيص هذا القسم', |
|
| 116 | - 'syndiquer_site' => 'ترخيص كامل الموقع', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'ها هي نشرة الموقع', |
|
| 120 | - 'texte_lettre_information_2' => 'تحصي هذه النشرة المقالات والأخبار المنشورة منذ ', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'نسخة للطباعة', |
|
| 124 | - 'voir_en_ligne' => 'عرض مباشر', |
|
| 125 | - 'voir_squelette' => 'عرض الصفحة النموذجية لهذه الصفحة' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'الصفحة الرئيسية', |
|
| 14 | + 'article' => 'مقال', |
|
| 15 | + 'articles' => 'المقالات', |
|
| 16 | + 'articles_auteur' => 'مقالات هذا المؤلف', |
|
| 17 | + 'articles_populaires' => 'المقالات الأكثر شعبية', |
|
| 18 | + 'articles_rubrique' => 'مقالات هذا القسم', |
|
| 19 | + 'aucun_article' => 'لا توجد مقالات على هذا العنوان', |
|
| 20 | + 'aucun_auteur' => 'لا يوجد مؤلفون على هذا العنوان', |
|
| 21 | + 'aucun_site' => 'لا توجد مواقع على هذا العنوان', |
|
| 22 | + 'aucune_breve' => 'لا توجد أخبار على هذا العنوان', |
|
| 23 | + 'aucune_rubrique' => 'لا توجد أقسام على هذا العنوان', |
|
| 24 | + 'auteur' => 'مؤلف', |
|
| 25 | + 'autres' => 'آخرون', |
|
| 26 | + 'autres_breves' => 'أخبار أخرى', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'مجموعات مفاتيح أخرى', |
|
| 28 | + 'autres_sites' => 'مواقع أخرى', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'أهلاً وسهلاً', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'تعليق على هذا الموقع', |
|
| 35 | + 'contact' => 'للاتصال', |
|
| 36 | + 'copie_document_impossible' => 'لا يمكن نسخ المستند', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'التاريخ', |
|
| 40 | + 'dernier_ajout' => 'آخر إضافة', |
|
| 41 | + 'dernieres_breves' => 'آخر الأخبار', |
|
| 42 | + 'derniers_articles' => 'آخر المقالات', |
|
| 43 | + 'derniers_commentaires' => 'آخر التعليقات', |
|
| 44 | + 'derniers_messages_forum' => 'آخر المشاركات المنشورة في المنتديات', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'النشرة في وضعية النصوص', |
|
| 48 | + 'en_reponse' => 'رداً على:', |
|
| 49 | + 'en_resume' => 'باختصار', |
|
| 50 | + 'envoyer_message' => 'إرسال مشاركة', |
|
| 51 | + 'espace_prive' => 'المجال الخاص', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'التنسيقات المسموحة: @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'هرمية الموقع', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'يوم', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'دخول', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'من نفس المؤلف', |
|
| 67 | + 'meme_rubrique' => 'في هذا القسم أيضاً', |
|
| 68 | + 'memes_auteurs' => 'من المؤلفين نفسهم ايضاً', |
|
| 69 | + 'message' => 'مشاركة', |
|
| 70 | + 'messages_forum' => 'مشاركة منتدى', |
|
| 71 | + 'messages_recents' => 'أحدث المشاركات', |
|
| 72 | + 'mots_clef' => 'مفتاح', |
|
| 73 | + 'mots_clefs' => 'المفاتيح', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'المفاتيح الأخرى في هذه المجموعة', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'تصفح', |
|
| 78 | + 'nom' => 'الاسم', |
|
| 79 | + 'nouveautes' => 'الجديد', |
|
| 80 | + 'nouveautes_web' => 'الجديد على النسيج', |
|
| 81 | + 'nouveaux_articles' => 'المقالات الجديدة', |
|
| 82 | + 'nouvelles_breves' => 'الأخبار الجديدة', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'الصفحة السابقة', |
|
| 86 | + 'page_suivante' => 'الصفحة التالية', |
|
| 87 | + 'par_auteur' => 'بقلم ', |
|
| 88 | + 'participer_site' => 'يمكنك المشاركة في هذا الموقع، بالتسجيل أدناه ونشر مقالاتك. وبعد التسجيل، سوف تصلك رسالة فورية بالبريد الإلكتروني تتضمن معرفك الخاص الذي يسمح لك بالدخول الى المجال الخاص.', |
|
| 89 | + 'plan_site' => 'خريطة الموقع', |
|
| 90 | + 'popularite' => 'الشعبية', |
|
| 91 | + 'poster_message' => 'إبعث برسالة', |
|
| 92 | + 'proposer_site' => 'يمكنك افتراح إضافة موقع الى هذا القسم:', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'الرد على هذا المقال', |
|
| 96 | + 'repondre_breve' => 'الرد على هذا الخبر', |
|
| 97 | + 'resultats_recherche' => 'نتائج البحث', |
|
| 98 | + 'retour_debut_forums' => 'عودة الى بداية المنتديات', |
|
| 99 | + 'rss_abonnement' => 'نسخ عن،ان URL التالي في مجمّع RSS:', |
|
| 100 | + 'rss_abonnement_titre' => 'الاشتراك', |
|
| 101 | + 'rss_abonnement_titre_page' => 'الاشتراك في', |
|
| 102 | + 'rss_explication' => 'يجمع خيط RSS معلومات حول تحديث موقع. ويوفر محتوى تذاكر التحديث او التعليقات او مقتطفات منها إضافة الى رابط الى المحتويات الكاملة وبعض المعلومات الإضافية. هذا الخيط يُقرأ بواسطة مجمّع RSS.', |
|
| 103 | + 'rss_explication_titre' => 'ما هو تدفق RSS؟', |
|
| 104 | + 'rubrique' => 'القسم', |
|
| 105 | + 'rubriques' => 'الأقسام', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'التوقيعات', |
|
| 109 | + 'site_realise_avec_spip' => 'موقع صمم بنظام SPIP', |
|
| 110 | + 'sites_web' => 'مواقع النسيج', |
|
| 111 | + 'sous_rubriques' => 'الأقسام الفرعية', |
|
| 112 | + 'spam' => 'خنزرة', |
|
| 113 | + 'suite' => 'تتمة', |
|
| 114 | + 'sur_web' => 'على النسيج', |
|
| 115 | + 'syndiquer_rubrique' => 'ترخيص هذا القسم', |
|
| 116 | + 'syndiquer_site' => 'ترخيص كامل الموقع', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'ها هي نشرة الموقع', |
|
| 120 | + 'texte_lettre_information_2' => 'تحصي هذه النشرة المقالات والأخبار المنشورة منذ ', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'نسخة للطباعة', |
|
| 124 | + 'voir_en_ligne' => 'عرض مباشر', |
|
| 125 | + 'voir_squelette' => 'عرض الصفحة النموذجية لهذه الصفحة' |
|
| 126 | 126 | ); |
@@ -4,903 +4,903 @@ |
||
| 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' => 'Gweredekaat al lugant', |
|
| 14 | - 'affichage' => 'Diskwel', |
|
| 15 | - 'aide_non_disponible' => 'N’eo ket hegerz c’hoazh al lodenn-mañ eus ar skoazell enlinenn er yezh-mañ.', |
|
| 16 | - 'annuler_recherche' => 'Nullañ an enklask', |
|
| 17 | - 'auteur' => 'Skridaozer:', |
|
| 18 | - 'avis_acces_interdit' => 'Digor difennet.', |
|
| 19 | - 'avis_acces_interdit_prive' => 'N’ho peus ket an aotre da vont war ar bajenn-mañ<b>@exec@</b>.', |
|
| 20 | - 'avis_article_modifie' => 'Diwallit, labouret ez eus bet war ar pennad-mañ gant @nom_auteur_modif@, @date_diff@ munutenn zo', |
|
| 21 | - 'avis_aucun_resultat' => 'Disoc’h ebet.', |
|
| 22 | - 'avis_base_inaccessible' => 'N’haller ket kevreañ ouzh an diaz roadennoù @base@.', |
|
| 23 | - 'avis_chemin_invalide_1' => 'An hent dibabet ganeoc’h', |
|
| 24 | - 'avis_chemin_invalide_2' => 'ne seblant ket bezañ reizh. Distroit d’ar bajenn a-raok ha gwiriit an titouroù pourchaset ganeoc’h.', |
|
| 25 | - 'avis_connexion_echec_1' => 'C’hwitet eo ar c’hevreañ ouzh an diaz roadennoù.', |
|
| 26 | - 'avis_connexion_echec_2' => 'Distroit d’ar bajenn a-raok, ha gwiriit an titouroù pourchaset ganeoc’h.', |
|
| 27 | - 'avis_connexion_echec_3' => '<b>N.B.</b> War meur a servijer e tleit <b>goulenn</b> e vefe gweredekaet ho moned d’an diaz roadennoù a-raok gallout e implijout. Mar n’hallit ket kevreañ, gwiriit ha graet hoc’h eus ar goulenn-se.', |
|
| 28 | - 'avis_connexion_erreur_creer_base' => 'N’eus ket bet gallet krouiñ an diaz roadennoù.', |
|
| 29 | - 'avis_connexion_erreur_nom_base' => 'N’hall bezañ nemet lizherennoù, sifroù ha barrennigoù en anv an diaz', |
|
| 30 | - 'avis_connexion_ldap_echec_1' => 'C’hwitet eo ar c’hevreañ ouzh ar servijer LDAP.', |
|
| 31 | - 'avis_connexion_ldap_echec_2' => 'Distroit d’ar bajenn a-raok, ha gwiriit an titouroù pourchaset ganeoc’h.', |
|
| 32 | - 'avis_connexion_ldap_echec_3' => 'A-hend-all n’implijit ket ar skor LDAP evit enporzhiañ implijerien.', |
|
| 33 | - 'avis_deplacement_rubrique' => 'Diwallit! Er rubrikenn-mañ ez eus @contient_breves@ berrskrid@scb@ : askit al logell-gadarnaat-mañ mard he dilec’hiit.', |
|
| 34 | - 'avis_erreur_connexion_mysql' => 'Fazi kevreañ SQL', |
|
| 35 | - 'avis_espace_interdit' => '<b>Lec’h difennet</b> <div>Staliet eo SPIP c’hoazh.</div>', |
|
| 36 | - 'avis_lecture_noms_bases_1' => 'N’eo ket bet ar programm staliañ evit lenn anvioù an diazoù roadennoù staliet.', |
|
| 37 | - 'avis_lecture_noms_bases_2' => 'Pe n’eus diaz hegerz ebet, pe diweredekaet eo bet al listennañ diazoù evit abegoù surentez (ar pezh a c’hoarvez gant meur a herberc’hier).', |
|
| 38 | - 'avis_lecture_noms_bases_3' => 'A-hend-all e tlefec’h implijout un diaz dezhañ hoc’h anv kevreañ:', |
|
| 39 | - 'avis_non_acces_page' => 'N’hoc’h eus ket moned d’ar bajenn-mañ.', |
|
| 40 | - 'avis_operation_echec' => 'C’hwitet eo an ober.', |
|
| 41 | - 'avis_operation_impossible' => 'Ober dibosupl', |
|
| 42 | - 'avis_suppression_base' => 'DIWALLIT, hep distro eo lemel roadennoù', |
|
| 12 | + // A |
|
| 13 | + 'activer_plugin' => 'Gweredekaat al lugant', |
|
| 14 | + 'affichage' => 'Diskwel', |
|
| 15 | + 'aide_non_disponible' => 'N’eo ket hegerz c’hoazh al lodenn-mañ eus ar skoazell enlinenn er yezh-mañ.', |
|
| 16 | + 'annuler_recherche' => 'Nullañ an enklask', |
|
| 17 | + 'auteur' => 'Skridaozer:', |
|
| 18 | + 'avis_acces_interdit' => 'Digor difennet.', |
|
| 19 | + 'avis_acces_interdit_prive' => 'N’ho peus ket an aotre da vont war ar bajenn-mañ<b>@exec@</b>.', |
|
| 20 | + 'avis_article_modifie' => 'Diwallit, labouret ez eus bet war ar pennad-mañ gant @nom_auteur_modif@, @date_diff@ munutenn zo', |
|
| 21 | + 'avis_aucun_resultat' => 'Disoc’h ebet.', |
|
| 22 | + 'avis_base_inaccessible' => 'N’haller ket kevreañ ouzh an diaz roadennoù @base@.', |
|
| 23 | + 'avis_chemin_invalide_1' => 'An hent dibabet ganeoc’h', |
|
| 24 | + 'avis_chemin_invalide_2' => 'ne seblant ket bezañ reizh. Distroit d’ar bajenn a-raok ha gwiriit an titouroù pourchaset ganeoc’h.', |
|
| 25 | + 'avis_connexion_echec_1' => 'C’hwitet eo ar c’hevreañ ouzh an diaz roadennoù.', |
|
| 26 | + 'avis_connexion_echec_2' => 'Distroit d’ar bajenn a-raok, ha gwiriit an titouroù pourchaset ganeoc’h.', |
|
| 27 | + 'avis_connexion_echec_3' => '<b>N.B.</b> War meur a servijer e tleit <b>goulenn</b> e vefe gweredekaet ho moned d’an diaz roadennoù a-raok gallout e implijout. Mar n’hallit ket kevreañ, gwiriit ha graet hoc’h eus ar goulenn-se.', |
|
| 28 | + 'avis_connexion_erreur_creer_base' => 'N’eus ket bet gallet krouiñ an diaz roadennoù.', |
|
| 29 | + 'avis_connexion_erreur_nom_base' => 'N’hall bezañ nemet lizherennoù, sifroù ha barrennigoù en anv an diaz', |
|
| 30 | + 'avis_connexion_ldap_echec_1' => 'C’hwitet eo ar c’hevreañ ouzh ar servijer LDAP.', |
|
| 31 | + 'avis_connexion_ldap_echec_2' => 'Distroit d’ar bajenn a-raok, ha gwiriit an titouroù pourchaset ganeoc’h.', |
|
| 32 | + 'avis_connexion_ldap_echec_3' => 'A-hend-all n’implijit ket ar skor LDAP evit enporzhiañ implijerien.', |
|
| 33 | + 'avis_deplacement_rubrique' => 'Diwallit! Er rubrikenn-mañ ez eus @contient_breves@ berrskrid@scb@ : askit al logell-gadarnaat-mañ mard he dilec’hiit.', |
|
| 34 | + 'avis_erreur_connexion_mysql' => 'Fazi kevreañ SQL', |
|
| 35 | + 'avis_espace_interdit' => '<b>Lec’h difennet</b> <div>Staliet eo SPIP c’hoazh.</div>', |
|
| 36 | + 'avis_lecture_noms_bases_1' => 'N’eo ket bet ar programm staliañ evit lenn anvioù an diazoù roadennoù staliet.', |
|
| 37 | + 'avis_lecture_noms_bases_2' => 'Pe n’eus diaz hegerz ebet, pe diweredekaet eo bet al listennañ diazoù evit abegoù surentez (ar pezh a c’hoarvez gant meur a herberc’hier).', |
|
| 38 | + 'avis_lecture_noms_bases_3' => 'A-hend-all e tlefec’h implijout un diaz dezhañ hoc’h anv kevreañ:', |
|
| 39 | + 'avis_non_acces_page' => 'N’hoc’h eus ket moned d’ar bajenn-mañ.', |
|
| 40 | + 'avis_operation_echec' => 'C’hwitet eo an ober.', |
|
| 41 | + 'avis_operation_impossible' => 'Ober dibosupl', |
|
| 42 | + 'avis_suppression_base' => 'DIWALLIT, hep distro eo lemel roadennoù', |
|
| 43 | 43 | |
| 44 | - // B |
|
| 45 | - 'bouton_acces_ldap' => 'Ouzhpennañ ar moned da LDAP', |
|
| 46 | - 'bouton_ajouter' => 'Ouzhpennañ', |
|
| 47 | - 'bouton_annuler' => 'Nullañ', |
|
| 48 | - 'bouton_cache_activer' => ' Adweredekaat ar grubuilh', |
|
| 49 | - 'bouton_cache_desactiver' => 'Diweredekaat ar grubuilh evit ur pennad', |
|
| 50 | - 'bouton_demande_publication' => 'Goulenn ma vo embannet ar pennad-mañ', |
|
| 51 | - 'bouton_desactive_tout' => 'Diweredekaat pep tra', |
|
| 52 | - 'bouton_desinstaller' => 'Distaliañ', |
|
| 53 | - 'bouton_effacer_tout' => 'Diverkañ PEP TRA', |
|
| 54 | - 'bouton_envoyer_message' => 'Kemennadenn ziwezhañ: kas', |
|
| 55 | - 'bouton_fermer' => 'Serriñ', |
|
| 56 | - 'bouton_mettre_a_jour_base' => 'Hizivaat an diaz roadennoù', |
|
| 57 | - 'bouton_modifier' => 'Kemmañ', |
|
| 58 | - 'bouton_radio_afficher' => 'Diskwel', |
|
| 59 | - 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Dont war-wel war roll ar skridaozerien kevreet', |
|
| 60 | - 'bouton_radio_envoi_annonces_adresse' => 'Kas ar c’hemennoù d’ar chomlec’h-mañ:', |
|
| 61 | - 'bouton_radio_envoi_liste_nouveautes' => 'Kas listenn an nevezentioù', |
|
| 62 | - 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Na zont war-wel war roll ar skridaozerien kevreet', |
|
| 63 | - 'bouton_radio_non_envoi_annonces_editoriales' => 'Na gas kemennoù embann', |
|
| 64 | - 'bouton_redirection' => 'ADHEÑCHAÑ', |
|
| 65 | - 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Adderaouekaat an talvoudoù dre ziouer', |
|
| 66 | - 'bouton_relancer_inscription' => 'Adlañsañ an enskrivadenn', |
|
| 67 | - 'bouton_relancer_inscriptions' => 'Adlañsañ an enskrivadenn.', |
|
| 68 | - 'bouton_relancer_installation' => 'Adlañsañ ar staliañ', |
|
| 69 | - 'bouton_reset_password' => 'Krouiñ ur ger-tremen nevez hag e gas dre bostel', |
|
| 70 | - 'bouton_suivant' => 'War-lerc’h', |
|
| 71 | - 'bouton_tenter_recuperation' => 'Klask dresañ', |
|
| 72 | - 'bouton_test_proxy' => 'Esaeañ ar proksi', |
|
| 73 | - 'bouton_vider_cache' => 'Goullonderiñ ar grubuilh', |
|
| 44 | + // B |
|
| 45 | + 'bouton_acces_ldap' => 'Ouzhpennañ ar moned da LDAP', |
|
| 46 | + 'bouton_ajouter' => 'Ouzhpennañ', |
|
| 47 | + 'bouton_annuler' => 'Nullañ', |
|
| 48 | + 'bouton_cache_activer' => ' Adweredekaat ar grubuilh', |
|
| 49 | + 'bouton_cache_desactiver' => 'Diweredekaat ar grubuilh evit ur pennad', |
|
| 50 | + 'bouton_demande_publication' => 'Goulenn ma vo embannet ar pennad-mañ', |
|
| 51 | + 'bouton_desactive_tout' => 'Diweredekaat pep tra', |
|
| 52 | + 'bouton_desinstaller' => 'Distaliañ', |
|
| 53 | + 'bouton_effacer_tout' => 'Diverkañ PEP TRA', |
|
| 54 | + 'bouton_envoyer_message' => 'Kemennadenn ziwezhañ: kas', |
|
| 55 | + 'bouton_fermer' => 'Serriñ', |
|
| 56 | + 'bouton_mettre_a_jour_base' => 'Hizivaat an diaz roadennoù', |
|
| 57 | + 'bouton_modifier' => 'Kemmañ', |
|
| 58 | + 'bouton_radio_afficher' => 'Diskwel', |
|
| 59 | + 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Dont war-wel war roll ar skridaozerien kevreet', |
|
| 60 | + 'bouton_radio_envoi_annonces_adresse' => 'Kas ar c’hemennoù d’ar chomlec’h-mañ:', |
|
| 61 | + 'bouton_radio_envoi_liste_nouveautes' => 'Kas listenn an nevezentioù', |
|
| 62 | + 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Na zont war-wel war roll ar skridaozerien kevreet', |
|
| 63 | + 'bouton_radio_non_envoi_annonces_editoriales' => 'Na gas kemennoù embann', |
|
| 64 | + 'bouton_redirection' => 'ADHEÑCHAÑ', |
|
| 65 | + 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Adderaouekaat an talvoudoù dre ziouer', |
|
| 66 | + 'bouton_relancer_inscription' => 'Adlañsañ an enskrivadenn', |
|
| 67 | + 'bouton_relancer_inscriptions' => 'Adlañsañ an enskrivadenn.', |
|
| 68 | + 'bouton_relancer_installation' => 'Adlañsañ ar staliañ', |
|
| 69 | + 'bouton_reset_password' => 'Krouiñ ur ger-tremen nevez hag e gas dre bostel', |
|
| 70 | + 'bouton_suivant' => 'War-lerc’h', |
|
| 71 | + 'bouton_tenter_recuperation' => 'Klask dresañ', |
|
| 72 | + 'bouton_test_proxy' => 'Esaeañ ar proksi', |
|
| 73 | + 'bouton_vider_cache' => 'Goullonderiñ ar grubuilh', |
|
| 74 | 74 | |
| 75 | - // C |
|
| 76 | - 'cache_modifiable_webmestre' => 'Kemmet e c’hall bezañ an arventenn-mañ gant mestr-gwiad al lec’hienn.', |
|
| 77 | - 'calendrier_synchro' => 'Mard implijit ur meziant deiziataer kenglotus gant <b>iCal</b> e c’hallit e gembredañ gant titouroù al lec’hienn-mañ.', |
|
| 78 | - 'config_activer_champs' => 'Gweredekaat ar maeziennoù-mañ', |
|
| 79 | - 'config_choix_base_sup' => 'merkañ un diaz war ar servijer-mañ', |
|
| 80 | - 'config_erreur_base_sup' => 'N’en deus ket SPIP moned da roll an diazoù digor', |
|
| 81 | - 'config_info_base_sup' => 'Mard hoc’h eus diazoù roadennoù all da c’houlennata dre SPIP, gant e servijer SQL pe gant unan bennak all, e c’hallit o disklêriañ gant ar furmskrid-mañ dindan. Mar ne skrivit netra e maeziennoù zo e vo implijet an anaouderioù kevreañ ouzh an diaz pennañ.', |
|
| 82 | - 'config_info_base_sup_disponibles' => 'Diazoù ouzhpenn a c’haller goulennata c’hoazh:', |
|
| 83 | - 'config_info_enregistree' => 'Enrollet eo bet ar c’hefluniadur nevez', |
|
| 84 | - 'config_info_logos' => 'Pep a logo, ha pep a “logo nijal a-us” a c’hall bezañ lakaet da elfennoù al lec’hienn.', |
|
| 85 | - 'config_info_logos_utiliser' => 'Implijout al logoioù', |
|
| 86 | - 'config_info_logos_utiliser_non' => 'Na implijout al logoioù', |
|
| 87 | - 'config_info_logos_utiliser_survol' => 'Implijout al logoioù nijal a-us', |
|
| 88 | - 'config_info_logos_utiliser_survol_non' => 'Na implijout al logoioù nijal a-us', |
|
| 89 | - 'config_info_redirection' => 'Pa vo gweredekaet an dibab-mañ e c’hallot krouiñ pennadoù galloudel, ha na vint nemet daveoù da bennadoù bet embannet e lec’hiennoù all, pe er-maez eus SPIP.', |
|
| 90 | - 'config_redirection' => 'Pennadoù galloudel', |
|
| 91 | - 'config_titre_base_sup' => 'Disklêriañ un diaz ouzhpenn', |
|
| 92 | - 'config_titre_base_sup_choix' => 'Dibabit un diaz ouzhpenn', |
|
| 93 | - 'connexion_ldap' => 'Kevreañ:', |
|
| 94 | - 'creer_et_associer_un_auteur' => 'Krouiñ ha kevrediñ un aozer', |
|
| 75 | + // C |
|
| 76 | + 'cache_modifiable_webmestre' => 'Kemmet e c’hall bezañ an arventenn-mañ gant mestr-gwiad al lec’hienn.', |
|
| 77 | + 'calendrier_synchro' => 'Mard implijit ur meziant deiziataer kenglotus gant <b>iCal</b> e c’hallit e gembredañ gant titouroù al lec’hienn-mañ.', |
|
| 78 | + 'config_activer_champs' => 'Gweredekaat ar maeziennoù-mañ', |
|
| 79 | + 'config_choix_base_sup' => 'merkañ un diaz war ar servijer-mañ', |
|
| 80 | + 'config_erreur_base_sup' => 'N’en deus ket SPIP moned da roll an diazoù digor', |
|
| 81 | + 'config_info_base_sup' => 'Mard hoc’h eus diazoù roadennoù all da c’houlennata dre SPIP, gant e servijer SQL pe gant unan bennak all, e c’hallit o disklêriañ gant ar furmskrid-mañ dindan. Mar ne skrivit netra e maeziennoù zo e vo implijet an anaouderioù kevreañ ouzh an diaz pennañ.', |
|
| 82 | + 'config_info_base_sup_disponibles' => 'Diazoù ouzhpenn a c’haller goulennata c’hoazh:', |
|
| 83 | + 'config_info_enregistree' => 'Enrollet eo bet ar c’hefluniadur nevez', |
|
| 84 | + 'config_info_logos' => 'Pep a logo, ha pep a “logo nijal a-us” a c’hall bezañ lakaet da elfennoù al lec’hienn.', |
|
| 85 | + 'config_info_logos_utiliser' => 'Implijout al logoioù', |
|
| 86 | + 'config_info_logos_utiliser_non' => 'Na implijout al logoioù', |
|
| 87 | + 'config_info_logos_utiliser_survol' => 'Implijout al logoioù nijal a-us', |
|
| 88 | + 'config_info_logos_utiliser_survol_non' => 'Na implijout al logoioù nijal a-us', |
|
| 89 | + 'config_info_redirection' => 'Pa vo gweredekaet an dibab-mañ e c’hallot krouiñ pennadoù galloudel, ha na vint nemet daveoù da bennadoù bet embannet e lec’hiennoù all, pe er-maez eus SPIP.', |
|
| 90 | + 'config_redirection' => 'Pennadoù galloudel', |
|
| 91 | + 'config_titre_base_sup' => 'Disklêriañ un diaz ouzhpenn', |
|
| 92 | + 'config_titre_base_sup_choix' => 'Dibabit un diaz ouzhpenn', |
|
| 93 | + 'connexion_ldap' => 'Kevreañ:', |
|
| 94 | + 'creer_et_associer_un_auteur' => 'Krouiñ ha kevrediñ un aozer', |
|
| 95 | 95 | |
| 96 | - // D |
|
| 97 | - 'date_mot_heures' => 'eur', |
|
| 96 | + // D |
|
| 97 | + 'date_mot_heures' => 'eur', |
|
| 98 | 98 | |
| 99 | - // E |
|
| 100 | - 'ecran_connexion_couleur_principale' => 'Liv kentañ penn', |
|
| 101 | - 'ecran_connexion_image_fond' => 'Skeudenn adreñv', |
|
| 102 | - 'ecran_connexion_image_fond_explication' => 'Ober gant ur skeudenn (stumm JPEG, 1920x1080 pixels)', |
|
| 103 | - 'ecran_connexion_image_revenir_couleur_defaut' => 'Distreiñ d’al liv dre ziouer', |
|
| 104 | - 'ecran_connexion_titre' => 'Skramm evit kennaskañ', |
|
| 105 | - 'ecran_securite' => ' + skramm surentez @version@', |
|
| 106 | - 'email' => 'postel', |
|
| 107 | - 'email_2' => 'postel:', |
|
| 108 | - 'en_savoir_plus' => 'Gouzout muioc’h', |
|
| 109 | - 'entree_adresse_annuaire' => 'Chomlec’h eus al levr', |
|
| 110 | - 'entree_adresse_email' => 'Ho postel', |
|
| 111 | - 'entree_adresse_email_2' => ' Chomlec’h postel ', |
|
| 112 | - 'entree_base_donnee_1' => 'Chomlec’h an diaz roadennoù', |
|
| 113 | - 'entree_base_donnee_2' => '(Alies e klot ar chomlec’h-se gant hini ho lec’hienn, a-wezhioù e klot gant ar meneg «localhost», a-wezhioù e chom goullo-krenn.)', |
|
| 114 | - 'entree_biographie' => 'Buhezskrid berr-ha-berr.', |
|
| 115 | - 'entree_chemin_acces' => '<b>Skrivañ</b> an hent moned:', |
|
| 116 | - 'entree_cle_pgp' => 'Hoc’h alc’hwez PGP', |
|
| 117 | - 'entree_cle_pgp_2' => 'Alc’hwez PGP', |
|
| 118 | - 'entree_contenu_rubrique' => '(Endalc’h ar rubrikenn berr-ha-berr)', |
|
| 119 | - 'entree_identifiants_connexion' => 'Hoc’h anaouderioù kevreañ...', |
|
| 120 | - 'entree_identifiants_connexion_2' => 'Anaouderioù kevreañ', |
|
| 121 | - 'entree_informations_connexion_ldap' => 'Skrivit er furmskrid-mañ titouroù kevreañ ho levr chomlec’h LDAP. |
|
| 99 | + // E |
|
| 100 | + 'ecran_connexion_couleur_principale' => 'Liv kentañ penn', |
|
| 101 | + 'ecran_connexion_image_fond' => 'Skeudenn adreñv', |
|
| 102 | + 'ecran_connexion_image_fond_explication' => 'Ober gant ur skeudenn (stumm JPEG, 1920x1080 pixels)', |
|
| 103 | + 'ecran_connexion_image_revenir_couleur_defaut' => 'Distreiñ d’al liv dre ziouer', |
|
| 104 | + 'ecran_connexion_titre' => 'Skramm evit kennaskañ', |
|
| 105 | + 'ecran_securite' => ' + skramm surentez @version@', |
|
| 106 | + 'email' => 'postel', |
|
| 107 | + 'email_2' => 'postel:', |
|
| 108 | + 'en_savoir_plus' => 'Gouzout muioc’h', |
|
| 109 | + 'entree_adresse_annuaire' => 'Chomlec’h eus al levr', |
|
| 110 | + 'entree_adresse_email' => 'Ho postel', |
|
| 111 | + 'entree_adresse_email_2' => ' Chomlec’h postel ', |
|
| 112 | + 'entree_base_donnee_1' => 'Chomlec’h an diaz roadennoù', |
|
| 113 | + 'entree_base_donnee_2' => '(Alies e klot ar chomlec’h-se gant hini ho lec’hienn, a-wezhioù e klot gant ar meneg «localhost», a-wezhioù e chom goullo-krenn.)', |
|
| 114 | + 'entree_biographie' => 'Buhezskrid berr-ha-berr.', |
|
| 115 | + 'entree_chemin_acces' => '<b>Skrivañ</b> an hent moned:', |
|
| 116 | + 'entree_cle_pgp' => 'Hoc’h alc’hwez PGP', |
|
| 117 | + 'entree_cle_pgp_2' => 'Alc’hwez PGP', |
|
| 118 | + 'entree_contenu_rubrique' => '(Endalc’h ar rubrikenn berr-ha-berr)', |
|
| 119 | + 'entree_identifiants_connexion' => 'Hoc’h anaouderioù kevreañ...', |
|
| 120 | + 'entree_identifiants_connexion_2' => 'Anaouderioù kevreañ', |
|
| 121 | + 'entree_informations_connexion_ldap' => 'Skrivit er furmskrid-mañ titouroù kevreañ ho levr chomlec’h LDAP. |
|
| 122 | 122 | Merour ho reizhiad pe ho rouedad a zlefe gallout o fourchas deoc’h.', |
| 123 | - 'entree_infos_perso' => 'Piv oc’h-c’hwi?', |
|
| 124 | - 'entree_infos_perso_2' => 'Piv eo an aozer?', |
|
| 125 | - 'entree_interieur_rubrique' => 'Er rubrikenn:', |
|
| 126 | - 'entree_liens_sites' => '<b>Gourliamm</b> (daveenn, lec’hienn da weladenniñ...)', |
|
| 127 | - 'entree_login' => 'Ho ker kevreañ', |
|
| 128 | - 'entree_login_connexion_1' => 'Ar ger kevreañ', |
|
| 129 | - 'entree_login_connexion_2' => '(A-wezhioù e klot gant ho ker moned da FTP, a-wezhioù emañ da vezañ lezet goullo)', |
|
| 130 | - 'entree_mot_passe' => 'Ho ker-tremen', |
|
| 131 | - 'entree_mot_passe_1' => 'Ar ger-tremen kevreañ', |
|
| 132 | - 'entree_mot_passe_2' => '(A-wezhioù e klot gant ar ger-tremen da FTP, a-wezhioù emañ da vezañ lezet goullo)', |
|
| 133 | - 'entree_nom_fichier' => 'Skrivit anv ar restr @texte_compresse@:', |
|
| 134 | - 'entree_nom_pseudo' => 'Hoc’h anv pe ho lesanv', |
|
| 135 | - 'entree_nom_pseudo_1' => '(Hoc’h anv pe ho lesanv)', |
|
| 136 | - 'entree_nom_pseudo_2' => 'Anv pe lesanv', |
|
| 137 | - 'entree_nom_site' => 'Anv ho lec’hienn', |
|
| 138 | - 'entree_nom_site_2' => 'Anv lec’hienn an aozer', |
|
| 139 | - 'entree_nouveau_passe' => 'Ger-tremen nevez', |
|
| 140 | - 'entree_passe_ldap' => 'Ger-tremen', |
|
| 141 | - 'entree_port_annuaire' => 'Niverenn borzh al levr chomlec’h', |
|
| 142 | - 'entree_signature' => 'Sinadur', |
|
| 143 | - 'entree_titre_obligatoire' => '<b>Titl</b> [Ret]<br />', |
|
| 144 | - 'entree_url' => 'Chomlec’h (URL) ho lec’hienn', |
|
| 145 | - 'entree_url_2' => 'Chomlec’h (URL) al lec’hienn', |
|
| 146 | - 'erreur_connect_deja_existant' => 'Un dafariad zo c’hoazh gant an anv-se.', |
|
| 147 | - 'erreur_contenu_suspect' => 'Testenn tec’het', |
|
| 148 | - 'erreur_email_deja_existant' => 'Enrollet eo bet c’hoazh ar postel-se.', |
|
| 149 | - 'erreur_nom_connect_incorrect' => 'N’eo ket aotreet an anv dafariad-se ', |
|
| 150 | - 'erreur_plugin_attribut_balise_manquant' => 'Doareenn @attribut@ a vank er valizenn @balise@.', |
|
| 151 | - 'erreur_plugin_desinstalation_echouee' => 'C’hwitet eo da zistaliañ al lugant. E ziweredekaat a c’hallit avat.', |
|
| 152 | - 'erreur_plugin_fichier_absent' => 'Restr ezvezant', |
|
| 153 | - 'erreur_plugin_fichier_def_absent' => 'Restr termenañ ezvezant', |
|
| 154 | - 'erreur_plugin_nom_fonction_interdit' => 'Anv arc’hwel difennet', |
|
| 155 | - 'erreur_plugin_nom_manquant' => 'Anv lugant ezvezant', |
|
| 156 | - 'erreur_plugin_prefix_manquant' => 'N’eo ket termenet tachenn envel al lugant', |
|
| 157 | - 'erreur_plugin_tag_plugin_absent' => '<lugant> ezvezant er restr termenañ', |
|
| 158 | - 'erreur_plugin_version_manquant' => 'Stumm al lugant ezvezant', |
|
| 159 | - 'erreur_type_fichier' => 'Stumm restr fall', |
|
| 123 | + 'entree_infos_perso' => 'Piv oc’h-c’hwi?', |
|
| 124 | + 'entree_infos_perso_2' => 'Piv eo an aozer?', |
|
| 125 | + 'entree_interieur_rubrique' => 'Er rubrikenn:', |
|
| 126 | + 'entree_liens_sites' => '<b>Gourliamm</b> (daveenn, lec’hienn da weladenniñ...)', |
|
| 127 | + 'entree_login' => 'Ho ker kevreañ', |
|
| 128 | + 'entree_login_connexion_1' => 'Ar ger kevreañ', |
|
| 129 | + 'entree_login_connexion_2' => '(A-wezhioù e klot gant ho ker moned da FTP, a-wezhioù emañ da vezañ lezet goullo)', |
|
| 130 | + 'entree_mot_passe' => 'Ho ker-tremen', |
|
| 131 | + 'entree_mot_passe_1' => 'Ar ger-tremen kevreañ', |
|
| 132 | + 'entree_mot_passe_2' => '(A-wezhioù e klot gant ar ger-tremen da FTP, a-wezhioù emañ da vezañ lezet goullo)', |
|
| 133 | + 'entree_nom_fichier' => 'Skrivit anv ar restr @texte_compresse@:', |
|
| 134 | + 'entree_nom_pseudo' => 'Hoc’h anv pe ho lesanv', |
|
| 135 | + 'entree_nom_pseudo_1' => '(Hoc’h anv pe ho lesanv)', |
|
| 136 | + 'entree_nom_pseudo_2' => 'Anv pe lesanv', |
|
| 137 | + 'entree_nom_site' => 'Anv ho lec’hienn', |
|
| 138 | + 'entree_nom_site_2' => 'Anv lec’hienn an aozer', |
|
| 139 | + 'entree_nouveau_passe' => 'Ger-tremen nevez', |
|
| 140 | + 'entree_passe_ldap' => 'Ger-tremen', |
|
| 141 | + 'entree_port_annuaire' => 'Niverenn borzh al levr chomlec’h', |
|
| 142 | + 'entree_signature' => 'Sinadur', |
|
| 143 | + 'entree_titre_obligatoire' => '<b>Titl</b> [Ret]<br />', |
|
| 144 | + 'entree_url' => 'Chomlec’h (URL) ho lec’hienn', |
|
| 145 | + 'entree_url_2' => 'Chomlec’h (URL) al lec’hienn', |
|
| 146 | + 'erreur_connect_deja_existant' => 'Un dafariad zo c’hoazh gant an anv-se.', |
|
| 147 | + 'erreur_contenu_suspect' => 'Testenn tec’het', |
|
| 148 | + 'erreur_email_deja_existant' => 'Enrollet eo bet c’hoazh ar postel-se.', |
|
| 149 | + 'erreur_nom_connect_incorrect' => 'N’eo ket aotreet an anv dafariad-se ', |
|
| 150 | + 'erreur_plugin_attribut_balise_manquant' => 'Doareenn @attribut@ a vank er valizenn @balise@.', |
|
| 151 | + 'erreur_plugin_desinstalation_echouee' => 'C’hwitet eo da zistaliañ al lugant. E ziweredekaat a c’hallit avat.', |
|
| 152 | + 'erreur_plugin_fichier_absent' => 'Restr ezvezant', |
|
| 153 | + 'erreur_plugin_fichier_def_absent' => 'Restr termenañ ezvezant', |
|
| 154 | + 'erreur_plugin_nom_fonction_interdit' => 'Anv arc’hwel difennet', |
|
| 155 | + 'erreur_plugin_nom_manquant' => 'Anv lugant ezvezant', |
|
| 156 | + 'erreur_plugin_prefix_manquant' => 'N’eo ket termenet tachenn envel al lugant', |
|
| 157 | + 'erreur_plugin_tag_plugin_absent' => '<lugant> ezvezant er restr termenañ', |
|
| 158 | + 'erreur_plugin_version_manquant' => 'Stumm al lugant ezvezant', |
|
| 159 | + 'erreur_type_fichier' => 'Stumm restr fall', |
|
| 160 | 160 | |
| 161 | - // H |
|
| 162 | - 'htaccess_a_simuler' => 'Diwall: Ne vez ket dalc’het kont eus ar restroù @htaccess@ gant ho tafariad HTTP. Evit diogeliñ surentez vat eo ret deoc’h kemmañ ar c’hefluniadur-mañ war ar c’hraf-mañ, peotramant eo ret o defe an digemmennoù @constantes@ (a c’haller termenañ er restr mes_options.php) talvoudoù levrioù-chomlec’h er-maez eus @document_root@.', |
|
| 163 | - 'htaccess_inoperant' => 'htaccess ne ra netra', |
|
| 161 | + // H |
|
| 162 | + 'htaccess_a_simuler' => 'Diwall: Ne vez ket dalc’het kont eus ar restroù @htaccess@ gant ho tafariad HTTP. Evit diogeliñ surentez vat eo ret deoc’h kemmañ ar c’hefluniadur-mañ war ar c’hraf-mañ, peotramant eo ret o defe an digemmennoù @constantes@ (a c’haller termenañ er restr mes_options.php) talvoudoù levrioù-chomlec’h er-maez eus @document_root@.', |
|
| 163 | + 'htaccess_inoperant' => 'htaccess ne ra netra', |
|
| 164 | 164 | |
| 165 | - // I |
|
| 166 | - 'ical_info1' => 'War ar bajenn-mañ ez eus meur a hentenn evit chom e darempred gant buhez al lec’hienn-mañ.', |
|
| 167 | - 'ical_info2' => 'Evit gouzout hiroc’h diwar-benn an teknikoù-se, klaskit hardizh e-barzh <a href="@spipnet@">teuliadur SPIP</a>.', |
|
| 168 | - 'ical_info_calendrier' => 'Daou zeiziadur zo en ho kerz. An hini kentañ zo ur plaen eus al lec’hienn hag a ziskouez an holl bennadoù bet embannet. An eil emañ warnañ ar c’hemennoù stur, koulz hag ho kemennadennoù prevez diwezhañ: miret eo evidoc’h dre berzh un alc’hwez personel, a c’hallit kemm n’eus forzh pegoulz pa nevezot ho ker-tremen.', |
|
| 169 | - 'ical_methode_http' => 'Pellgargañ', |
|
| 170 | - 'ical_methode_webcal' => 'Kempredañ (webcal://)', |
|
| 171 | - 'ical_texte_js' => 'A-drugarez d’ul linenn javascript e c’hellit, en un doare aezet, diskouez ar pennadoù diwezhañ embannet war al lec’hienn-mañ, war forzh pe hini eus ho lec’hiennoù.', |
|
| 172 | - 'ical_texte_prive' => 'An deiziataer hiniennel-mañ a gelaou ac’hanoc’h diwar-benn nevezinti embann prevez al lec’hienn-mañ (labourioù, emgavioù, pennadoù, berrskridoù kinniget,...).', |
|
| 173 | - 'ical_texte_public' => 'Gant an deiziataer-mañ e c’hellit heuliañ nevezenti foran al lec’hienn (pennadoù ha berrskridoù bet embannet).', |
|
| 174 | - 'ical_texte_rss' => 'Gallout a rit sindikadiñ nevezenti ar forom-mañ war forzh peseurt lenner restroù XML/RSS (Rich Site Summary). A-drugarez d’ar furmad-se ivez e c’hell SPIP lenn an nevezenti war al lec’hiennoù all hag a implij ur stumm kenlotus(lec’hiennoù sindikadet).', |
|
| 175 | - 'ical_titre_js' => 'Javascript', |
|
| 176 | - 'ical_titre_mailing' => 'Roll-skignañ', |
|
| 177 | - 'ical_titre_rss' => 'Restroù sindikadañ', |
|
| 178 | - 'icone_accueil' => 'Degemer', |
|
| 179 | - 'icone_activer_cookie' => 'Gweredekaat an toupin heuliañ', |
|
| 180 | - 'icone_activite' => 'Gwerederezh', |
|
| 181 | - 'icone_admin_plugin' => 'Merañ an adveziantoù', |
|
| 182 | - 'icone_administration' => 'Trezalc’h', |
|
| 183 | - 'icone_afficher_auteurs' => 'Diskouez ar skridaozerien', |
|
| 184 | - 'icone_afficher_visiteurs' => 'Diskouez ar weladennerien', |
|
| 185 | - 'icone_arret_discussion' => 'Paouez da gemer perzh er gaoz-mañ', |
|
| 186 | - 'icone_calendrier' => 'Deiziataer', |
|
| 187 | - 'icone_configuration' => 'Kefluniad', |
|
| 188 | - 'icone_creer_auteur' => 'Krouiñ ur skridaozer nevez, hag e stagañ ouzh ar pennad-mañ', |
|
| 189 | - 'icone_creer_mot_cle' => 'Krouiñ ur ger-stur nevez hag e liammañ ouzh ar pennad-mañ', |
|
| 190 | - 'icone_creer_rubrique_2' => 'Krouiñ ur rubrikenn nevez', |
|
| 191 | - 'icone_developpement' => 'Diorenniñ', |
|
| 192 | - 'icone_edition' => 'Embannadur', |
|
| 193 | - 'icone_ma_langue' => 'Va yezh', |
|
| 194 | - 'icone_mes_infos' => 'Va stlennadoù', |
|
| 195 | - 'icone_mes_preferences' => 'Va dibaboù', |
|
| 196 | - 'icone_modifier_article' => 'Kemmañ ar pennad-mañ', |
|
| 197 | - 'icone_modifier_rubrique' => 'Kemmañ ar rubrikenn-mañ', |
|
| 198 | - 'icone_publication' => 'Embann', |
|
| 199 | - 'icone_relancer_signataire' => 'Adlañsañ ar siner', |
|
| 200 | - 'icone_retour' => 'Distro', |
|
| 201 | - 'icone_retour_article' => 'Distreiñ d’ar pennad', |
|
| 202 | - 'icone_squelette' => 'Frammoù', |
|
| 203 | - 'icone_suivi_publication' => 'Heuliañ an embann', |
|
| 204 | - 'icone_supprimer_cookie' => 'Diverkañ an toupin heuliañ', |
|
| 205 | - 'icone_supprimer_rubrique' => 'Diverkañ ar rummad-mañ', |
|
| 206 | - 'icone_supprimer_signature' => 'Diverkañ ar sinadur-mañ', |
|
| 207 | - 'icone_valider_signature' => 'Aprouiñ ar sinadur-mañ', |
|
| 208 | - 'image_administrer_rubrique' => 'Gallout a rit merañ ar rubrikenn-mañ', |
|
| 209 | - 'impossible_modifier_login_auteur' => ' Login digemm', |
|
| 210 | - 'impossible_modifier_pass_auteur' => 'Ger-tremen digemm.', |
|
| 211 | - 'info_1_article' => '1 pennad', |
|
| 212 | - 'info_1_auteur' => '1 aozer', |
|
| 213 | - 'info_1_message' => '1 kemennad', |
|
| 214 | - 'info_1_mot_cle' => '1 ger-alc’hwez', |
|
| 215 | - 'info_1_rubrique' => '1 rubrikenn', |
|
| 216 | - 'info_1_visiteur' => '1 gweladenner', |
|
| 217 | - 'info_activer_cookie' => 'Gallout a rit implijout un <b>toupin heuliañ</b>, ar pezh a dalvezo deoc’h da dremen en un doare aes eus al lec’hienn brevez d’an hini foran.', |
|
| 218 | - 'info_activer_menu_developpement' => 'Diskouez al roll Diorrenniñ', |
|
| 219 | - 'info_admin_etre_webmestre' => 'Reiñ din gwirioù ur mestr-gwiad ', |
|
| 220 | - 'info_admin_je_suis_webmestre' => 'mestr-gwiad <b>ez on</b>', |
|
| 221 | - 'info_admin_statuer_webmestre' => 'Reiñ gwirioù ur mestr-gwiad d’an amaezhier-mañ', |
|
| 222 | - 'info_admin_webmestre' => 'An amaezhier-mañ zo<b>mestr-gwiad</b>', |
|
| 223 | - 'info_administrateur' => 'Merour', |
|
| 224 | - 'info_administrateur_1' => 'Merour', |
|
| 225 | - 'info_administrateur_2' => 'al lec’hienn (<i>diwallit en ur implijout se</i>)', |
|
| 226 | - 'info_administrateur_site_01' => 'Ma’z oc’h merour al lec’hienn,', |
|
| 227 | - 'info_administrateur_site_02' => 'klikit war al liamm-mañ', |
|
| 228 | - 'info_administrateurs' => 'Merourien', |
|
| 229 | - 'info_administrer_rubrique' => 'Gallout a rit merañ ar rubrikenn-mañ', |
|
| 230 | - 'info_adresse' => 'er chomlec’h :', |
|
| 231 | - 'info_adresse_desinscription' => 'Postel evit en em zisenskrivañ : ', |
|
| 232 | - 'info_adresse_url' => 'Chomlec’h (URL) al lec’hienn foran', |
|
| 233 | - 'info_afficher_par_nb' => 'Diskouez dre', |
|
| 234 | - 'info_aide_en_ligne' => 'Skoazell enlinenn SPIP', |
|
| 235 | - 'info_ajout_image' => 'Pa ouzhpennit skeudennoù evel restroù stag ouzh ur pennad |
|
| 165 | + // I |
|
| 166 | + 'ical_info1' => 'War ar bajenn-mañ ez eus meur a hentenn evit chom e darempred gant buhez al lec’hienn-mañ.', |
|
| 167 | + 'ical_info2' => 'Evit gouzout hiroc’h diwar-benn an teknikoù-se, klaskit hardizh e-barzh <a href="@spipnet@">teuliadur SPIP</a>.', |
|
| 168 | + 'ical_info_calendrier' => 'Daou zeiziadur zo en ho kerz. An hini kentañ zo ur plaen eus al lec’hienn hag a ziskouez an holl bennadoù bet embannet. An eil emañ warnañ ar c’hemennoù stur, koulz hag ho kemennadennoù prevez diwezhañ: miret eo evidoc’h dre berzh un alc’hwez personel, a c’hallit kemm n’eus forzh pegoulz pa nevezot ho ker-tremen.', |
|
| 169 | + 'ical_methode_http' => 'Pellgargañ', |
|
| 170 | + 'ical_methode_webcal' => 'Kempredañ (webcal://)', |
|
| 171 | + 'ical_texte_js' => 'A-drugarez d’ul linenn javascript e c’hellit, en un doare aezet, diskouez ar pennadoù diwezhañ embannet war al lec’hienn-mañ, war forzh pe hini eus ho lec’hiennoù.', |
|
| 172 | + 'ical_texte_prive' => 'An deiziataer hiniennel-mañ a gelaou ac’hanoc’h diwar-benn nevezinti embann prevez al lec’hienn-mañ (labourioù, emgavioù, pennadoù, berrskridoù kinniget,...).', |
|
| 173 | + 'ical_texte_public' => 'Gant an deiziataer-mañ e c’hellit heuliañ nevezenti foran al lec’hienn (pennadoù ha berrskridoù bet embannet).', |
|
| 174 | + 'ical_texte_rss' => 'Gallout a rit sindikadiñ nevezenti ar forom-mañ war forzh peseurt lenner restroù XML/RSS (Rich Site Summary). A-drugarez d’ar furmad-se ivez e c’hell SPIP lenn an nevezenti war al lec’hiennoù all hag a implij ur stumm kenlotus(lec’hiennoù sindikadet).', |
|
| 175 | + 'ical_titre_js' => 'Javascript', |
|
| 176 | + 'ical_titre_mailing' => 'Roll-skignañ', |
|
| 177 | + 'ical_titre_rss' => 'Restroù sindikadañ', |
|
| 178 | + 'icone_accueil' => 'Degemer', |
|
| 179 | + 'icone_activer_cookie' => 'Gweredekaat an toupin heuliañ', |
|
| 180 | + 'icone_activite' => 'Gwerederezh', |
|
| 181 | + 'icone_admin_plugin' => 'Merañ an adveziantoù', |
|
| 182 | + 'icone_administration' => 'Trezalc’h', |
|
| 183 | + 'icone_afficher_auteurs' => 'Diskouez ar skridaozerien', |
|
| 184 | + 'icone_afficher_visiteurs' => 'Diskouez ar weladennerien', |
|
| 185 | + 'icone_arret_discussion' => 'Paouez da gemer perzh er gaoz-mañ', |
|
| 186 | + 'icone_calendrier' => 'Deiziataer', |
|
| 187 | + 'icone_configuration' => 'Kefluniad', |
|
| 188 | + 'icone_creer_auteur' => 'Krouiñ ur skridaozer nevez, hag e stagañ ouzh ar pennad-mañ', |
|
| 189 | + 'icone_creer_mot_cle' => 'Krouiñ ur ger-stur nevez hag e liammañ ouzh ar pennad-mañ', |
|
| 190 | + 'icone_creer_rubrique_2' => 'Krouiñ ur rubrikenn nevez', |
|
| 191 | + 'icone_developpement' => 'Diorenniñ', |
|
| 192 | + 'icone_edition' => 'Embannadur', |
|
| 193 | + 'icone_ma_langue' => 'Va yezh', |
|
| 194 | + 'icone_mes_infos' => 'Va stlennadoù', |
|
| 195 | + 'icone_mes_preferences' => 'Va dibaboù', |
|
| 196 | + 'icone_modifier_article' => 'Kemmañ ar pennad-mañ', |
|
| 197 | + 'icone_modifier_rubrique' => 'Kemmañ ar rubrikenn-mañ', |
|
| 198 | + 'icone_publication' => 'Embann', |
|
| 199 | + 'icone_relancer_signataire' => 'Adlañsañ ar siner', |
|
| 200 | + 'icone_retour' => 'Distro', |
|
| 201 | + 'icone_retour_article' => 'Distreiñ d’ar pennad', |
|
| 202 | + 'icone_squelette' => 'Frammoù', |
|
| 203 | + 'icone_suivi_publication' => 'Heuliañ an embann', |
|
| 204 | + 'icone_supprimer_cookie' => 'Diverkañ an toupin heuliañ', |
|
| 205 | + 'icone_supprimer_rubrique' => 'Diverkañ ar rummad-mañ', |
|
| 206 | + 'icone_supprimer_signature' => 'Diverkañ ar sinadur-mañ', |
|
| 207 | + 'icone_valider_signature' => 'Aprouiñ ar sinadur-mañ', |
|
| 208 | + 'image_administrer_rubrique' => 'Gallout a rit merañ ar rubrikenn-mañ', |
|
| 209 | + 'impossible_modifier_login_auteur' => ' Login digemm', |
|
| 210 | + 'impossible_modifier_pass_auteur' => 'Ger-tremen digemm.', |
|
| 211 | + 'info_1_article' => '1 pennad', |
|
| 212 | + 'info_1_auteur' => '1 aozer', |
|
| 213 | + 'info_1_message' => '1 kemennad', |
|
| 214 | + 'info_1_mot_cle' => '1 ger-alc’hwez', |
|
| 215 | + 'info_1_rubrique' => '1 rubrikenn', |
|
| 216 | + 'info_1_visiteur' => '1 gweladenner', |
|
| 217 | + 'info_activer_cookie' => 'Gallout a rit implijout un <b>toupin heuliañ</b>, ar pezh a dalvezo deoc’h da dremen en un doare aes eus al lec’hienn brevez d’an hini foran.', |
|
| 218 | + 'info_activer_menu_developpement' => 'Diskouez al roll Diorrenniñ', |
|
| 219 | + 'info_admin_etre_webmestre' => 'Reiñ din gwirioù ur mestr-gwiad ', |
|
| 220 | + 'info_admin_je_suis_webmestre' => 'mestr-gwiad <b>ez on</b>', |
|
| 221 | + 'info_admin_statuer_webmestre' => 'Reiñ gwirioù ur mestr-gwiad d’an amaezhier-mañ', |
|
| 222 | + 'info_admin_webmestre' => 'An amaezhier-mañ zo<b>mestr-gwiad</b>', |
|
| 223 | + 'info_administrateur' => 'Merour', |
|
| 224 | + 'info_administrateur_1' => 'Merour', |
|
| 225 | + 'info_administrateur_2' => 'al lec’hienn (<i>diwallit en ur implijout se</i>)', |
|
| 226 | + 'info_administrateur_site_01' => 'Ma’z oc’h merour al lec’hienn,', |
|
| 227 | + 'info_administrateur_site_02' => 'klikit war al liamm-mañ', |
|
| 228 | + 'info_administrateurs' => 'Merourien', |
|
| 229 | + 'info_administrer_rubrique' => 'Gallout a rit merañ ar rubrikenn-mañ', |
|
| 230 | + 'info_adresse' => 'er chomlec’h :', |
|
| 231 | + 'info_adresse_desinscription' => 'Postel evit en em zisenskrivañ : ', |
|
| 232 | + 'info_adresse_url' => 'Chomlec’h (URL) al lec’hienn foran', |
|
| 233 | + 'info_afficher_par_nb' => 'Diskouez dre', |
|
| 234 | + 'info_aide_en_ligne' => 'Skoazell enlinenn SPIP', |
|
| 235 | + 'info_ajout_image' => 'Pa ouzhpennit skeudennoù evel restroù stag ouzh ur pennad |
|
| 236 | 236 | e c’hell SPIP krouiñ ent emgefre evidoc’h skeudennoùigoù (bihanaet) eus |
| 237 | 237 | ar skeudennoù enframmet. Evel-se e c’heller krouiñ, da skouer, |
| 238 | 238 | ur skeudennaoueg pe ur portofolio.', |
| 239 | - 'info_ajouter_rubrique' => 'Ouzhpennañ ur rubrikenn all da vezañ meret :', |
|
| 240 | - 'info_annonce_nouveautes' => 'Kemenn an nevezenti', |
|
| 241 | - 'info_article' => 'pennad', |
|
| 242 | - 'info_article_2' => 'pennad', |
|
| 243 | - 'info_article_a_paraitre' => 'Ar pennadoù goude-deiziataet da zont', |
|
| 244 | - 'info_articles_02' => 'pennad', |
|
| 245 | - 'info_articles_2' => 'Pennad', |
|
| 246 | - 'info_articles_auteur' => 'Pennadoù ar skridaozer-mañ', |
|
| 247 | - 'info_articles_miens' => 'Va fennadoù-skrid', |
|
| 248 | - 'info_articles_tous' => 'An holl bennadoù-skrid', |
|
| 249 | - 'info_articles_trouves' => 'Pennadoù kavet', |
|
| 250 | - 'info_attente_validation' => 'Ho pennadoù a chom da vezañ aprouet', |
|
| 251 | - 'info_aucun_article' => 'Pennad-skrid ebet', |
|
| 252 | - 'info_aucun_auteur' => 'Aozer ebet', |
|
| 253 | - 'info_aucun_message' => 'kemennad ebet', |
|
| 254 | - 'info_aucun_rubrique' => 'Rubrikenn ebet', |
|
| 255 | - 'info_aujourdhui' => 'hiziv :', |
|
| 256 | - 'info_auteur_gere_rubriques' => 'Ar skrivagner-mañ a ver ar rubrikennoù a-heul :', |
|
| 257 | - 'info_auteur_gere_toutes_rubriques' => 'Ar skrivagner-mañ a ra war-dro <b>an holl rubrikennoù</b>', |
|
| 258 | - 'info_auteur_gere_toutes_rubriques_2' => 'Merañ a ran <b>pep rubrikenn</b>', |
|
| 259 | - 'info_auteurs' => 'Ar skridaozerien', |
|
| 260 | - 'info_auteurs_par_tri' => 'Skridaozerien@partri@', |
|
| 261 | - 'info_auteurs_trouves' => 'Skridaozerien kavet', |
|
| 262 | - 'info_authentification_externe' => 'Gwiriekadur diavaez', |
|
| 263 | - 'info_avertissement' => 'Kemenn diwall', |
|
| 264 | - 'info_barre_outils' => 'gant e varrenn ostilhoù ?', |
|
| 265 | - 'info_base_installee' => 'Staliet eo framm ho tiaz-titouroù.', |
|
| 266 | - 'info_bio' => 'Buhezskrid', |
|
| 267 | - 'info_cache_desactive' => 'Diwerekaet eo bet ar grubuilh evit ur pennad.', |
|
| 268 | - 'info_chapeau' => 'Tog', |
|
| 269 | - 'info_chapeau_2' => 'Tog :', |
|
| 270 | - 'info_chemin_acces_1' => 'Dibarzhioù : <b>hent moned er rollad tud</b>', |
|
| 271 | - 'info_chemin_acces_2' => 'Bremañ e rankit kefluniañ anhent moned a-benn tizhout titouroù ar rollad tud. Ezhomm zo eus an titour-se evit gallout lenn profiloù an implijerien a gaver er rollad tud.', |
|
| 272 | - 'info_chemin_acces_annuaire' => 'Dibarzhioù : <b>Hent moned er rollad tud</b>', |
|
| 273 | - 'info_choix_base' => 'Trede lankad :', |
|
| 274 | - 'info_classement_1' => '<sup>añ</sup> war @liste@', |
|
| 275 | - 'info_classement_2' => '<sup>vet</sup> war @liste@', |
|
| 276 | - 'info_code_acces' => 'N’ankouait ket ho kodoù moned !', |
|
| 277 | - 'info_config_suivi' => 'Ma’z eo ar chomlec’h-mañ hini ur roll-skignañ e c’hellit skrivañ amañ ar chomlec’h evit en em enrollañ. Gallout a ra ar chomlec’h-se bezañ un URL (hini ar bajenn Web m’en em enroller warni), pe ur postel diwar-benn un danvez bennak (da skouer : <tt>@adresse_suivi@?subject=subscribe</tt>):', |
|
| 278 | - 'info_config_suivi_explication' => 'Gallout a rit en em enrollañ war roll-skignañ al lec’hienn-mañ. Degaset e vo deoc’h kemennoù dre bostel pa vo kinniget pennadoù pe berrskridoù nevez neuze.', |
|
| 279 | - 'info_confirmer_passe' => 'Gwiriañ ar ger-tremen :', |
|
| 280 | - 'info_conflit_edition_avis_non_sauvegarde' => 'Diwallit, kemmet eo bet an maeziennoù-mañ e lec’h all. Setu ma n’eo ket bet enrollet ho kemmoù warno.', |
|
| 281 | - 'info_conflit_edition_differences' => 'Diforc’hioù :', |
|
| 282 | - 'info_conflit_edition_version_enregistree' => 'Ar stumm bet enrollet :', |
|
| 283 | - 'info_conflit_edition_votre_version' => 'Ho stumm :', |
|
| 284 | - 'info_connexion_base' => 'O klask kevreañ ouzh an diaz titouroù', |
|
| 285 | - 'info_connexion_base_donnee' => 'Kevreañ ouzh ho tiaz titouroù', |
|
| 286 | - 'info_connexion_ldap_ok' => 'Kevreet oc’h dre LDAP.</b><p>Gallout a rit tremen d’al lankad war-lerc’h.</p>', |
|
| 287 | - 'info_connexion_mysql' => 'Ho kevreadenn SQL', |
|
| 288 | - 'info_connexion_ok' => 'Kevreet oc’h.', |
|
| 289 | - 'info_contact' => 'Darempred', |
|
| 290 | - 'info_contenu_articles' => 'Danvez ar pennadoù', |
|
| 291 | - 'info_contributions' => 'Degasadennoù', |
|
| 292 | - 'info_creation_paragraphe' => '(Evit krouiñ rannbennadoù, lezit goullo linennoù zo traken)', |
|
| 293 | - 'info_creation_rubrique' => 'A-benn gallout skrivañ pennadoù <br />e rankit bezañ krouet ur rubrikenn da nebeutañ.<br />', |
|
| 294 | - 'info_creation_tables' => 'Krouiñ taolennoù an diaz titouroù', |
|
| 295 | - 'info_creer_base' => '<b>Krouiñ</b> un diaz titouroù nevez :', |
|
| 296 | - 'info_dans_rubrique' => 'Er rubrikenn :', |
|
| 297 | - 'info_date_publication_anterieure' => 'Deiziad skridaozañ kent :', |
|
| 298 | - 'info_date_referencement' => 'DEIZIAD MENEGERIÑ AL LEC’HIENN-MAÑ :', |
|
| 299 | - 'info_derniere_etape' => 'Echuet eo !', |
|
| 300 | - 'info_descriptif' => 'Deskrivadur :', |
|
| 301 | - 'info_desinstaller_plugin' => 'diverkañ a ra ar roadoù, ha diweredekaat a ra an adveziant', |
|
| 302 | - 'info_discussion_cours' => 'Kaozeadennoù digor', |
|
| 303 | - 'info_ecrire_article' => 'A-benn gallout skrivañ pennadoù e rankit bezañ krouet ur rubrikenn da nebeutañ.', |
|
| 304 | - 'info_email_envoi' => 'Postel kas (diret)', |
|
| 305 | - 'info_email_envoi_txt' => 'Skrivit amañ chomlec’h kas ar postelioù (ma ne skrivit netra e vo implijet chomlec’h an degemererien) :', |
|
| 306 | - 'info_email_webmestre' => 'Postel ar webmestr (diret)', |
|
| 307 | - 'info_envoi_email_automatique' => 'Kas postelioù emgefre', |
|
| 308 | - 'info_envoyer_maintenant' => 'Kas bremañ', |
|
| 309 | - 'info_etape_suivante' => 'Tremen d’al lankad war-lerc’h', |
|
| 310 | - 'info_etape_suivante_1' => 'Gallout a rit tremen d’al lankad war-lerc’h.', |
|
| 311 | - 'info_etape_suivante_2' => 'Gallout a rit tremen d’ar lankad war-lerc’h.', |
|
| 312 | - 'info_exceptions_proxy' => 'Nemedennoù evit ar proxy', |
|
| 313 | - 'info_exportation_base' => 'Oc’h ezporzhiañ an diaz davet @archive@', |
|
| 314 | - 'info_facilite_suivi_activite' => 'A-benn heuliañ aesoc’h an oberererezh e c’hell SPIP kas dre bostel, |
|
| 239 | + 'info_ajouter_rubrique' => 'Ouzhpennañ ur rubrikenn all da vezañ meret :', |
|
| 240 | + 'info_annonce_nouveautes' => 'Kemenn an nevezenti', |
|
| 241 | + 'info_article' => 'pennad', |
|
| 242 | + 'info_article_2' => 'pennad', |
|
| 243 | + 'info_article_a_paraitre' => 'Ar pennadoù goude-deiziataet da zont', |
|
| 244 | + 'info_articles_02' => 'pennad', |
|
| 245 | + 'info_articles_2' => 'Pennad', |
|
| 246 | + 'info_articles_auteur' => 'Pennadoù ar skridaozer-mañ', |
|
| 247 | + 'info_articles_miens' => 'Va fennadoù-skrid', |
|
| 248 | + 'info_articles_tous' => 'An holl bennadoù-skrid', |
|
| 249 | + 'info_articles_trouves' => 'Pennadoù kavet', |
|
| 250 | + 'info_attente_validation' => 'Ho pennadoù a chom da vezañ aprouet', |
|
| 251 | + 'info_aucun_article' => 'Pennad-skrid ebet', |
|
| 252 | + 'info_aucun_auteur' => 'Aozer ebet', |
|
| 253 | + 'info_aucun_message' => 'kemennad ebet', |
|
| 254 | + 'info_aucun_rubrique' => 'Rubrikenn ebet', |
|
| 255 | + 'info_aujourdhui' => 'hiziv :', |
|
| 256 | + 'info_auteur_gere_rubriques' => 'Ar skrivagner-mañ a ver ar rubrikennoù a-heul :', |
|
| 257 | + 'info_auteur_gere_toutes_rubriques' => 'Ar skrivagner-mañ a ra war-dro <b>an holl rubrikennoù</b>', |
|
| 258 | + 'info_auteur_gere_toutes_rubriques_2' => 'Merañ a ran <b>pep rubrikenn</b>', |
|
| 259 | + 'info_auteurs' => 'Ar skridaozerien', |
|
| 260 | + 'info_auteurs_par_tri' => 'Skridaozerien@partri@', |
|
| 261 | + 'info_auteurs_trouves' => 'Skridaozerien kavet', |
|
| 262 | + 'info_authentification_externe' => 'Gwiriekadur diavaez', |
|
| 263 | + 'info_avertissement' => 'Kemenn diwall', |
|
| 264 | + 'info_barre_outils' => 'gant e varrenn ostilhoù ?', |
|
| 265 | + 'info_base_installee' => 'Staliet eo framm ho tiaz-titouroù.', |
|
| 266 | + 'info_bio' => 'Buhezskrid', |
|
| 267 | + 'info_cache_desactive' => 'Diwerekaet eo bet ar grubuilh evit ur pennad.', |
|
| 268 | + 'info_chapeau' => 'Tog', |
|
| 269 | + 'info_chapeau_2' => 'Tog :', |
|
| 270 | + 'info_chemin_acces_1' => 'Dibarzhioù : <b>hent moned er rollad tud</b>', |
|
| 271 | + 'info_chemin_acces_2' => 'Bremañ e rankit kefluniañ anhent moned a-benn tizhout titouroù ar rollad tud. Ezhomm zo eus an titour-se evit gallout lenn profiloù an implijerien a gaver er rollad tud.', |
|
| 272 | + 'info_chemin_acces_annuaire' => 'Dibarzhioù : <b>Hent moned er rollad tud</b>', |
|
| 273 | + 'info_choix_base' => 'Trede lankad :', |
|
| 274 | + 'info_classement_1' => '<sup>añ</sup> war @liste@', |
|
| 275 | + 'info_classement_2' => '<sup>vet</sup> war @liste@', |
|
| 276 | + 'info_code_acces' => 'N’ankouait ket ho kodoù moned !', |
|
| 277 | + 'info_config_suivi' => 'Ma’z eo ar chomlec’h-mañ hini ur roll-skignañ e c’hellit skrivañ amañ ar chomlec’h evit en em enrollañ. Gallout a ra ar chomlec’h-se bezañ un URL (hini ar bajenn Web m’en em enroller warni), pe ur postel diwar-benn un danvez bennak (da skouer : <tt>@adresse_suivi@?subject=subscribe</tt>):', |
|
| 278 | + 'info_config_suivi_explication' => 'Gallout a rit en em enrollañ war roll-skignañ al lec’hienn-mañ. Degaset e vo deoc’h kemennoù dre bostel pa vo kinniget pennadoù pe berrskridoù nevez neuze.', |
|
| 279 | + 'info_confirmer_passe' => 'Gwiriañ ar ger-tremen :', |
|
| 280 | + 'info_conflit_edition_avis_non_sauvegarde' => 'Diwallit, kemmet eo bet an maeziennoù-mañ e lec’h all. Setu ma n’eo ket bet enrollet ho kemmoù warno.', |
|
| 281 | + 'info_conflit_edition_differences' => 'Diforc’hioù :', |
|
| 282 | + 'info_conflit_edition_version_enregistree' => 'Ar stumm bet enrollet :', |
|
| 283 | + 'info_conflit_edition_votre_version' => 'Ho stumm :', |
|
| 284 | + 'info_connexion_base' => 'O klask kevreañ ouzh an diaz titouroù', |
|
| 285 | + 'info_connexion_base_donnee' => 'Kevreañ ouzh ho tiaz titouroù', |
|
| 286 | + 'info_connexion_ldap_ok' => 'Kevreet oc’h dre LDAP.</b><p>Gallout a rit tremen d’al lankad war-lerc’h.</p>', |
|
| 287 | + 'info_connexion_mysql' => 'Ho kevreadenn SQL', |
|
| 288 | + 'info_connexion_ok' => 'Kevreet oc’h.', |
|
| 289 | + 'info_contact' => 'Darempred', |
|
| 290 | + 'info_contenu_articles' => 'Danvez ar pennadoù', |
|
| 291 | + 'info_contributions' => 'Degasadennoù', |
|
| 292 | + 'info_creation_paragraphe' => '(Evit krouiñ rannbennadoù, lezit goullo linennoù zo traken)', |
|
| 293 | + 'info_creation_rubrique' => 'A-benn gallout skrivañ pennadoù <br />e rankit bezañ krouet ur rubrikenn da nebeutañ.<br />', |
|
| 294 | + 'info_creation_tables' => 'Krouiñ taolennoù an diaz titouroù', |
|
| 295 | + 'info_creer_base' => '<b>Krouiñ</b> un diaz titouroù nevez :', |
|
| 296 | + 'info_dans_rubrique' => 'Er rubrikenn :', |
|
| 297 | + 'info_date_publication_anterieure' => 'Deiziad skridaozañ kent :', |
|
| 298 | + 'info_date_referencement' => 'DEIZIAD MENEGERIÑ AL LEC’HIENN-MAÑ :', |
|
| 299 | + 'info_derniere_etape' => 'Echuet eo !', |
|
| 300 | + 'info_descriptif' => 'Deskrivadur :', |
|
| 301 | + 'info_desinstaller_plugin' => 'diverkañ a ra ar roadoù, ha diweredekaat a ra an adveziant', |
|
| 302 | + 'info_discussion_cours' => 'Kaozeadennoù digor', |
|
| 303 | + 'info_ecrire_article' => 'A-benn gallout skrivañ pennadoù e rankit bezañ krouet ur rubrikenn da nebeutañ.', |
|
| 304 | + 'info_email_envoi' => 'Postel kas (diret)', |
|
| 305 | + 'info_email_envoi_txt' => 'Skrivit amañ chomlec’h kas ar postelioù (ma ne skrivit netra e vo implijet chomlec’h an degemererien) :', |
|
| 306 | + 'info_email_webmestre' => 'Postel ar webmestr (diret)', |
|
| 307 | + 'info_envoi_email_automatique' => 'Kas postelioù emgefre', |
|
| 308 | + 'info_envoyer_maintenant' => 'Kas bremañ', |
|
| 309 | + 'info_etape_suivante' => 'Tremen d’al lankad war-lerc’h', |
|
| 310 | + 'info_etape_suivante_1' => 'Gallout a rit tremen d’al lankad war-lerc’h.', |
|
| 311 | + 'info_etape_suivante_2' => 'Gallout a rit tremen d’ar lankad war-lerc’h.', |
|
| 312 | + 'info_exceptions_proxy' => 'Nemedennoù evit ar proxy', |
|
| 313 | + 'info_exportation_base' => 'Oc’h ezporzhiañ an diaz davet @archive@', |
|
| 314 | + 'info_facilite_suivi_activite' => 'A-benn heuliañ aesoc’h an oberererezh e c’hell SPIP kas dre bostel, |
|
| 315 | 315 | d’ul roll-skignañ enni ar skridaozerien da skouer, |
| 316 | 316 | ar goulennoù embann ha kadarnaat ar pennadoù.', |
| 317 | - 'info_fichiers_authent' => 'Restroù gwiriekaat « .htpasswd »', |
|
| 318 | - 'info_forums_abo_invites' => 'Foromoù dre goumanant zo war ho lec’hienn ; pedet e vez ar weladennerien d’en em enrollañ war lodenn foran al lec’hienn neuze.', |
|
| 319 | - 'info_gauche_admin_tech' => '<b>N’eus nemet an dud e-karg eus al lec’hienn a c’hall mont war ar bajenn-mañ.</b><p> Warni e reer al labourioù kempenn. Evit traoù zo ez eus ezhomm eus un argerzh testeniekaat dibar a c’houlenn kaout ur moned FTP ouzh al lec’hienn.</p>', |
|
| 320 | - 'info_gauche_admin_vider' => '<b>N’eus nemet an dud e-karg a c’hall mont war ar bajenn-mañ.</b><p>Warni e reer al labourioù kempenn. Evit traoù zo ez eus ezhomm eus un argerzh testeniekaat dibar a c’houlenn kaout ur moned FTP ouzh al lec’hienn.</p>', |
|
| 321 | - 'info_gauche_auteurs' => 'Amañ e kavot an holl dud a skriv war al lec’hienn. |
|
| 317 | + 'info_fichiers_authent' => 'Restroù gwiriekaat « .htpasswd »', |
|
| 318 | + 'info_forums_abo_invites' => 'Foromoù dre goumanant zo war ho lec’hienn ; pedet e vez ar weladennerien d’en em enrollañ war lodenn foran al lec’hienn neuze.', |
|
| 319 | + 'info_gauche_admin_tech' => '<b>N’eus nemet an dud e-karg eus al lec’hienn a c’hall mont war ar bajenn-mañ.</b><p> Warni e reer al labourioù kempenn. Evit traoù zo ez eus ezhomm eus un argerzh testeniekaat dibar a c’houlenn kaout ur moned FTP ouzh al lec’hienn.</p>', |
|
| 320 | + 'info_gauche_admin_vider' => '<b>N’eus nemet an dud e-karg a c’hall mont war ar bajenn-mañ.</b><p>Warni e reer al labourioù kempenn. Evit traoù zo ez eus ezhomm eus un argerzh testeniekaat dibar a c’houlenn kaout ur moned FTP ouzh al lec’hienn.</p>', |
|
| 321 | + 'info_gauche_auteurs' => 'Amañ e kavot an holl dud a skriv war al lec’hienn. |
|
| 322 | 322 | Diouzh liv o skeudennig e c’hellit gouzout o c’harg resis (merour=gwer; skridaozer=melen).', |
| 323 | - 'info_gauche_auteurs_exterieurs' => 'E glaz emañ diskouezet ar skridaozerien diavaez, hep moned ouzh al lec’hienn ; |
|
| 323 | + 'info_gauche_auteurs_exterieurs' => 'E glaz emañ diskouezet ar skridaozerien diavaez, hep moned ouzh al lec’hienn ; |
|
| 324 | 324 | Gant ur pod-lastez eo aroueziet ar re bet diverket.', |
| 325 | - 'info_gauche_messagerie' => 'Dre ar postelerezh e c’hellit eskemm kemennadennoù gant skridaozerien all, derc’hel notennigoù-eñvor, pe, ma’z oc’h merour, skignañ kemennoù war bajenn degemer al lodenn brevez.', |
|
| 326 | - 'info_gauche_statistiques_referers' => 'War ar bajenn-mañ emañ roll ar <i>referers</i>, da lavaret eo al lec’hiennoù enno liammoù a gas davet ho lec’hienn deoc’h, evit dec’h hag hiziv hepken. Riñset e vez ar roll-mañ bemdez.', |
|
| 327 | - 'info_gauche_visiteurs_enregistres' => 'Amañ emañ ar weladennerien enrollet evit gallout kemer perzh e foromoù dre goumanant lodenn foran al lec’hienn.', |
|
| 328 | - 'info_generation_miniatures_images' => 'Krouiñ skeudennoùigoù', |
|
| 329 | - 'info_gerer_trad_objets' => '@objets@ : merañ liammoù an troidigezh', |
|
| 330 | - 'info_hebergeur_desactiver_envoi_email' => 'Herberc’herien zo a nac’h ma vefe kaset postelioù emgedre adal o servijerioù. En deoguezh-se, ne’z aio ket ar servijoù-se en-dro.', |
|
| 331 | - 'info_hier' => 'dec’h :', |
|
| 332 | - 'info_identification_publique' => 'Hoc’h anv foran...', |
|
| 333 | - 'info_image_process' => 'Diuzit an hentenn wellañ da sevel skeudennoùigoù o klikañ war ar skeudenn a zere.', |
|
| 334 | - 'info_image_process2' => '<b>Evezh.</b> <i>Ma ne weler skeudenn ebet e talvez n’eo ket bet kefluniet an dafariad a ro bod deoc’h evit ober gant seurt binvioù. Mar fell deoc’h implijout ar servijoù-se, kit e darempred gant an dud e-karg, ha goulennit war-lerc’h an astennoù «GD» pe «Imagick».</i>', |
|
| 335 | - 'info_images_auto' => 'Skeudennoù jedet ent emgefre', |
|
| 336 | - 'info_informations_personnelles' => 'Titouroù personel', |
|
| 337 | - 'info_inscription' => 'enskrivadur el linenn', |
|
| 338 | - 'info_inscription_automatique' => 'Enskrivadur emgefreek ar skridaozerien nevez.', |
|
| 339 | - 'info_jeu_caractere' => 'Strobad arouezennoù al lec’hienn', |
|
| 340 | - 'info_jours' => 'deiz', |
|
| 341 | - 'info_laisser_champs_vides' => '(lezit ar maeziennoù-mañ goullo)', |
|
| 342 | - 'info_langues' => 'Yezhoù al lec’hienn', |
|
| 343 | - 'info_ldap_ok' => 'Staliet eo ar gwiriekaat LDAP.', |
|
| 344 | - 'info_lien_hypertexte' => 'Liamm gourskrid :', |
|
| 345 | - 'info_liste_nouveautes_envoyee' => 'Kaset eo bet roll an nevezentioù', |
|
| 346 | - 'info_liste_redacteurs_connectes' => 'Roll ar skridaozerien kevreet', |
|
| 347 | - 'info_login_existant' => 'C’hoazh ez eus eus ar ger kevreañ-mañ.', |
|
| 348 | - 'info_login_trop_court' => 'Re verr eo ar ger-kevreañ.', |
|
| 349 | - 'info_login_trop_court_car_pluriel' => 'Ret eo lakaat@nb@ arouezenn da vihanañ.', |
|
| 350 | - 'info_logos' => 'Al logoioù', |
|
| 351 | - 'info_maximum' => 'd’ar muiañ :', |
|
| 352 | - 'info_meme_rubrique' => 'En hevelep rubrikenn', |
|
| 353 | - 'info_message_en_redaction' => 'Ar c’hemennadennoù emaoc’h o skrivañ', |
|
| 354 | - 'info_message_technique' => 'Kemennadenn deknikel :', |
|
| 355 | - 'info_messagerie_interne' => 'Postelerezh diabarzh', |
|
| 356 | - 'info_mise_a_niveau_base' => 'lakaat ho tiaz titouroù SQL a-live', |
|
| 357 | - 'info_mise_a_niveau_base_2' => '{{Diwallit!}} Staliet ho peus ur stumm eus SPIP {koshoc’h} eget an hini a oa war al lec’hienn-mañ a-raok . |
|
| 325 | + 'info_gauche_messagerie' => 'Dre ar postelerezh e c’hellit eskemm kemennadennoù gant skridaozerien all, derc’hel notennigoù-eñvor, pe, ma’z oc’h merour, skignañ kemennoù war bajenn degemer al lodenn brevez.', |
|
| 326 | + 'info_gauche_statistiques_referers' => 'War ar bajenn-mañ emañ roll ar <i>referers</i>, da lavaret eo al lec’hiennoù enno liammoù a gas davet ho lec’hienn deoc’h, evit dec’h hag hiziv hepken. Riñset e vez ar roll-mañ bemdez.', |
|
| 327 | + 'info_gauche_visiteurs_enregistres' => 'Amañ emañ ar weladennerien enrollet evit gallout kemer perzh e foromoù dre goumanant lodenn foran al lec’hienn.', |
|
| 328 | + 'info_generation_miniatures_images' => 'Krouiñ skeudennoùigoù', |
|
| 329 | + 'info_gerer_trad_objets' => '@objets@ : merañ liammoù an troidigezh', |
|
| 330 | + 'info_hebergeur_desactiver_envoi_email' => 'Herberc’herien zo a nac’h ma vefe kaset postelioù emgedre adal o servijerioù. En deoguezh-se, ne’z aio ket ar servijoù-se en-dro.', |
|
| 331 | + 'info_hier' => 'dec’h :', |
|
| 332 | + 'info_identification_publique' => 'Hoc’h anv foran...', |
|
| 333 | + 'info_image_process' => 'Diuzit an hentenn wellañ da sevel skeudennoùigoù o klikañ war ar skeudenn a zere.', |
|
| 334 | + 'info_image_process2' => '<b>Evezh.</b> <i>Ma ne weler skeudenn ebet e talvez n’eo ket bet kefluniet an dafariad a ro bod deoc’h evit ober gant seurt binvioù. Mar fell deoc’h implijout ar servijoù-se, kit e darempred gant an dud e-karg, ha goulennit war-lerc’h an astennoù «GD» pe «Imagick».</i>', |
|
| 335 | + 'info_images_auto' => 'Skeudennoù jedet ent emgefre', |
|
| 336 | + 'info_informations_personnelles' => 'Titouroù personel', |
|
| 337 | + 'info_inscription' => 'enskrivadur el linenn', |
|
| 338 | + 'info_inscription_automatique' => 'Enskrivadur emgefreek ar skridaozerien nevez.', |
|
| 339 | + 'info_jeu_caractere' => 'Strobad arouezennoù al lec’hienn', |
|
| 340 | + 'info_jours' => 'deiz', |
|
| 341 | + 'info_laisser_champs_vides' => '(lezit ar maeziennoù-mañ goullo)', |
|
| 342 | + 'info_langues' => 'Yezhoù al lec’hienn', |
|
| 343 | + 'info_ldap_ok' => 'Staliet eo ar gwiriekaat LDAP.', |
|
| 344 | + 'info_lien_hypertexte' => 'Liamm gourskrid :', |
|
| 345 | + 'info_liste_nouveautes_envoyee' => 'Kaset eo bet roll an nevezentioù', |
|
| 346 | + 'info_liste_redacteurs_connectes' => 'Roll ar skridaozerien kevreet', |
|
| 347 | + 'info_login_existant' => 'C’hoazh ez eus eus ar ger kevreañ-mañ.', |
|
| 348 | + 'info_login_trop_court' => 'Re verr eo ar ger-kevreañ.', |
|
| 349 | + 'info_login_trop_court_car_pluriel' => 'Ret eo lakaat@nb@ arouezenn da vihanañ.', |
|
| 350 | + 'info_logos' => 'Al logoioù', |
|
| 351 | + 'info_maximum' => 'd’ar muiañ :', |
|
| 352 | + 'info_meme_rubrique' => 'En hevelep rubrikenn', |
|
| 353 | + 'info_message_en_redaction' => 'Ar c’hemennadennoù emaoc’h o skrivañ', |
|
| 354 | + 'info_message_technique' => 'Kemennadenn deknikel :', |
|
| 355 | + 'info_messagerie_interne' => 'Postelerezh diabarzh', |
|
| 356 | + 'info_mise_a_niveau_base' => 'lakaat ho tiaz titouroù SQL a-live', |
|
| 357 | + 'info_mise_a_niveau_base_2' => '{{Diwallit!}} Staliet ho peus ur stumm eus SPIP {koshoc’h} eget an hini a oa war al lec’hienn-mañ a-raok . |
|
| 358 | 358 | Riskloù zo e vefe distrujet ho tiaz titouroù pe ne’z afe ket en-dro ken.<br />{{Adstailhit restroù SPIP.}}', |
| 359 | - 'info_modification_enregistree' => 'lerc’hwezet eo bet ho taskemm', |
|
| 360 | - 'info_modifier_auteur' => 'Kemmañ an aozer :', |
|
| 361 | - 'info_modifier_rubrique' => 'Kemmañ ar rubrikenn :', |
|
| 362 | - 'info_modifier_titre' => 'Kemmañ : @titre@', |
|
| 363 | - 'info_mon_site_spip' => 'Ma lec’hienn SPIP', |
|
| 364 | - 'info_moyenne' => 'Keidenn :', |
|
| 365 | - 'info_multi_cet_article' => 'Yezh ar pennad-mañ :', |
|
| 366 | - 'info_multi_langues_choisies' => 'Dibabit amañ dindan ar yezhoù a c’hell skridaozerien ho lec’hienn skrivañ enno. |
|
| 359 | + 'info_modification_enregistree' => 'lerc’hwezet eo bet ho taskemm', |
|
| 360 | + 'info_modifier_auteur' => 'Kemmañ an aozer :', |
|
| 361 | + 'info_modifier_rubrique' => 'Kemmañ ar rubrikenn :', |
|
| 362 | + 'info_modifier_titre' => 'Kemmañ : @titre@', |
|
| 363 | + 'info_mon_site_spip' => 'Ma lec’hienn SPIP', |
|
| 364 | + 'info_moyenne' => 'Keidenn :', |
|
| 365 | + 'info_multi_cet_article' => 'Yezh ar pennad-mañ :', |
|
| 366 | + 'info_multi_langues_choisies' => 'Dibabit amañ dindan ar yezhoù a c’hell skridaozerien ho lec’hienn skrivañ enno. |
|
| 367 | 367 | Ar yezhoù bet implijet betek-henn (diskouezet da gentañ) n’hallont ket bezañ lamet kuit.', |
| 368 | - 'info_multi_objets' => '@objets@ : gweredekaat lañser ar yezh', |
|
| 369 | - 'info_multi_secteurs' => '...evit rubrikennoù ar wrizienn hepken ?', |
|
| 370 | - 'info_nb_articles' => '@nb@ pennadoù-skrid', |
|
| 371 | - 'info_nb_auteurs' => '@nb@ aozerion', |
|
| 372 | - 'info_nb_messages' => '@nb@ kemennadoù', |
|
| 373 | - 'info_nb_mots_cles' => '@nb@ gerioù-alc’hwez', |
|
| 374 | - 'info_nb_rubriques' => '@nb@ rubrikennoù', |
|
| 375 | - 'info_nb_visiteurs' => '@nb@ gweladennerion', |
|
| 376 | - 'info_nom' => 'Anv', |
|
| 377 | - 'info_nom_destinataire' => 'Anv an degemerer', |
|
| 378 | - 'info_nom_pas_conforme' => 'n’eo ket aotreet an tagoù html ', |
|
| 379 | - 'info_nom_site' => 'Anv ho lec’hienn', |
|
| 380 | - 'info_nombre_articles' => '@nb_articles@ pennad,', |
|
| 381 | - 'info_nombre_rubriques' => '@nb_rubriques@ rubrikenn,', |
|
| 382 | - 'info_nombre_sites' => '@nb_sites@ lec’hienn,', |
|
| 383 | - 'info_non_deplacer' => 'Na zilec’hiañ...', |
|
| 384 | - 'info_non_envoi_annonce_dernieres_nouveautes' => 'Gallout a ra SPIP kelaouiñ en un doare reoliek war nevezenti al lec’hienn |
|
| 368 | + 'info_multi_objets' => '@objets@ : gweredekaat lañser ar yezh', |
|
| 369 | + 'info_multi_secteurs' => '...evit rubrikennoù ar wrizienn hepken ?', |
|
| 370 | + 'info_nb_articles' => '@nb@ pennadoù-skrid', |
|
| 371 | + 'info_nb_auteurs' => '@nb@ aozerion', |
|
| 372 | + 'info_nb_messages' => '@nb@ kemennadoù', |
|
| 373 | + 'info_nb_mots_cles' => '@nb@ gerioù-alc’hwez', |
|
| 374 | + 'info_nb_rubriques' => '@nb@ rubrikennoù', |
|
| 375 | + 'info_nb_visiteurs' => '@nb@ gweladennerion', |
|
| 376 | + 'info_nom' => 'Anv', |
|
| 377 | + 'info_nom_destinataire' => 'Anv an degemerer', |
|
| 378 | + 'info_nom_pas_conforme' => 'n’eo ket aotreet an tagoù html ', |
|
| 379 | + 'info_nom_site' => 'Anv ho lec’hienn', |
|
| 380 | + 'info_nombre_articles' => '@nb_articles@ pennad,', |
|
| 381 | + 'info_nombre_rubriques' => '@nb_rubriques@ rubrikenn,', |
|
| 382 | + 'info_nombre_sites' => '@nb_sites@ lec’hienn,', |
|
| 383 | + 'info_non_deplacer' => 'Na zilec’hiañ...', |
|
| 384 | + 'info_non_envoi_annonce_dernieres_nouveautes' => 'Gallout a ra SPIP kelaouiñ en un doare reoliek war nevezenti al lec’hienn |
|
| 385 | 385 | (pennadoù ha berrskridoù embannet nevez zo).', |
| 386 | - 'info_non_envoi_liste_nouveautes' => 'Chom hep kas roll an nevezenti', |
|
| 387 | - 'info_non_modifiable' => 'n’hall ket bezañ kemmet', |
|
| 388 | - 'info_non_suppression_mot_cle' => 'ne fell ket din diverkañ ar ger-stur-mañ.', |
|
| 389 | - 'info_notes' => 'Notennoù', |
|
| 390 | - 'info_nouvel_article' => 'Pennad nevez', |
|
| 391 | - 'info_nouvelle_traduction' => 'Troidigezh nevez :', |
|
| 392 | - 'info_numero_article' => 'PENNAD NIVERENN :', |
|
| 393 | - 'info_obligatoire_02' => '[Rekis]', |
|
| 394 | - 'info_option_accepter_visiteurs' => 'Aotren enrolladennoù gweladennerien al lec’hienn foran', |
|
| 395 | - 'info_option_ne_pas_accepter_visiteurs' => 'Nac’hañ enrolladennoù ar weladennerien', |
|
| 396 | - 'info_options_avancees' => 'DIBARZHIOÙ PISHOC’H', |
|
| 397 | - 'info_ou' => 'pe...', |
|
| 398 | - 'info_page_interdite' => 'Pajenn difennet', |
|
| 399 | - 'info_par_nom' => 'dre anv', |
|
| 400 | - 'info_par_nombre_article' => 'dre an niver a bennadoù', |
|
| 401 | - 'info_par_statut' => 'dre statud', |
|
| 402 | - 'info_par_tri' => '’(dre @tri@)’', |
|
| 403 | - 'info_passe_trop_court' => 'Ger-tremen re verr.', |
|
| 404 | - 'info_passe_trop_court_car_pluriel' => 'Lakait d’’ar vihanañ @nb@ arouezenn er ger-tremen.', |
|
| 405 | - 'info_passes_identiques' => 'Ne glot ket an daou c’her-tremen.', |
|
| 406 | - 'info_plus_cinq_car' => 'ouzhpenn pemp arouezenn', |
|
| 407 | - 'info_plus_cinq_car_2' => '(Ouzhpenn 5 arouezenn)', |
|
| 408 | - 'info_plus_trois_car' => '(Ouzhpenn 3 arouezenn)', |
|
| 409 | - 'info_popularite' => 'brud; : @popularite@ ; gweladennoù : @visites@', |
|
| 410 | - 'info_post_scriptum' => 'Goude-skrid', |
|
| 411 | - 'info_post_scriptum_2' => 'Goude-skrid :', |
|
| 412 | - 'info_pour' => 'evit', |
|
| 413 | - 'info_preview_texte' => 'Posupl eo rakwelet holl bennadoù al lec’h gant ar statud « kinniget » d’an nebeutañ, hag an holl verrskridoù a vezer an oberour anezho. Daoust ha dleout a rafe an holl verourien gallout en ober, pe ar skridaozerien, pe den ebet ?', |
|
| 414 | - 'info_procedez_par_etape' => 'kit war-raok pazenn-ha-pazenn', |
|
| 415 | - 'info_procedure_maj_version' => 'rankout a ra al labour hizivaat bezañ lañset a-benn azasaat |
|
| 386 | + 'info_non_envoi_liste_nouveautes' => 'Chom hep kas roll an nevezenti', |
|
| 387 | + 'info_non_modifiable' => 'n’hall ket bezañ kemmet', |
|
| 388 | + 'info_non_suppression_mot_cle' => 'ne fell ket din diverkañ ar ger-stur-mañ.', |
|
| 389 | + 'info_notes' => 'Notennoù', |
|
| 390 | + 'info_nouvel_article' => 'Pennad nevez', |
|
| 391 | + 'info_nouvelle_traduction' => 'Troidigezh nevez :', |
|
| 392 | + 'info_numero_article' => 'PENNAD NIVERENN :', |
|
| 393 | + 'info_obligatoire_02' => '[Rekis]', |
|
| 394 | + 'info_option_accepter_visiteurs' => 'Aotren enrolladennoù gweladennerien al lec’hienn foran', |
|
| 395 | + 'info_option_ne_pas_accepter_visiteurs' => 'Nac’hañ enrolladennoù ar weladennerien', |
|
| 396 | + 'info_options_avancees' => 'DIBARZHIOÙ PISHOC’H', |
|
| 397 | + 'info_ou' => 'pe...', |
|
| 398 | + 'info_page_interdite' => 'Pajenn difennet', |
|
| 399 | + 'info_par_nom' => 'dre anv', |
|
| 400 | + 'info_par_nombre_article' => 'dre an niver a bennadoù', |
|
| 401 | + 'info_par_statut' => 'dre statud', |
|
| 402 | + 'info_par_tri' => '’(dre @tri@)’', |
|
| 403 | + 'info_passe_trop_court' => 'Ger-tremen re verr.', |
|
| 404 | + 'info_passe_trop_court_car_pluriel' => 'Lakait d’’ar vihanañ @nb@ arouezenn er ger-tremen.', |
|
| 405 | + 'info_passes_identiques' => 'Ne glot ket an daou c’her-tremen.', |
|
| 406 | + 'info_plus_cinq_car' => 'ouzhpenn pemp arouezenn', |
|
| 407 | + 'info_plus_cinq_car_2' => '(Ouzhpenn 5 arouezenn)', |
|
| 408 | + 'info_plus_trois_car' => '(Ouzhpenn 3 arouezenn)', |
|
| 409 | + 'info_popularite' => 'brud; : @popularite@ ; gweladennoù : @visites@', |
|
| 410 | + 'info_post_scriptum' => 'Goude-skrid', |
|
| 411 | + 'info_post_scriptum_2' => 'Goude-skrid :', |
|
| 412 | + 'info_pour' => 'evit', |
|
| 413 | + 'info_preview_texte' => 'Posupl eo rakwelet holl bennadoù al lec’h gant ar statud « kinniget » d’an nebeutañ, hag an holl verrskridoù a vezer an oberour anezho. Daoust ha dleout a rafe an holl verourien gallout en ober, pe ar skridaozerien, pe den ebet ?', |
|
| 414 | + 'info_procedez_par_etape' => 'kit war-raok pazenn-ha-pazenn', |
|
| 415 | + 'info_procedure_maj_version' => 'rankout a ra al labour hizivaat bezañ lañset a-benn azasaat |
|
| 416 | 416 | an diaz titouroù ouzh stumm nevez SPIP.', |
| 417 | - 'info_proxy_ok' => 'Mat eo bet disoc’h arnod ar proksi.', |
|
| 418 | - 'info_ps' => 'G.S.', |
|
| 419 | - 'info_publier' => 'embann', |
|
| 420 | - 'info_publies' => 'Ho pennadoù bet embannet', |
|
| 421 | - 'info_question_accepter_visiteurs' => 'M’eo resisaet e frammoù ho lec’hienn e c’hall ar weladennerien en em enrollañ hep moned ouzh al lodenn brevez, gweredekait an dibarzh a-is :', |
|
| 422 | - 'info_question_inscription_nouveaux_redacteurs' => 'Hag aotren a rit e c’hallfe skridaozerien nevez en em enrollañ adalek al lec’hienn foran ? |
|
| 417 | + 'info_proxy_ok' => 'Mat eo bet disoc’h arnod ar proksi.', |
|
| 418 | + 'info_ps' => 'G.S.', |
|
| 419 | + 'info_publier' => 'embann', |
|
| 420 | + 'info_publies' => 'Ho pennadoù bet embannet', |
|
| 421 | + 'info_question_accepter_visiteurs' => 'M’eo resisaet e frammoù ho lec’hienn e c’hall ar weladennerien en em enrollañ hep moned ouzh al lodenn brevez, gweredekait an dibarzh a-is :', |
|
| 422 | + 'info_question_inscription_nouveaux_redacteurs' => 'Hag aotren a rit e c’hallfe skridaozerien nevez en em enrollañ adalek al lec’hienn foran ? |
|
| 423 | 423 | Ma asantit e c’hallo ar weladennerien en em enskrivañ adalek ur furmskrid emgefreek, |
| 424 | 424 | ha gouest e vint neuze da dizhout al lodenn brevez evit kinnig o fennadoù dezho o-unan. |
| 425 | 425 | <blockquote><i>Da vare an enrollañ e vez kaset ur postel emgefreek d’ar skridaozerien |
| 426 | 426 | ennañ ar c’hodoù da c’hallout dont tre el lec’hienn. |
| 427 | 427 | Gant herberc’herien zo e vez difennet kas postelioù adalek o servijerioù, |
| 428 | 428 | en degouezh-se ne vo ket tu en em enrollañ ent emgefre.</i></blockquote>', |
| 429 | - 'info_qui_edite' => '@nom_auteur_modif@ en deus labouret war an danvez-se @date_diff@ minutes zo', |
|
| 430 | - 'info_racine_site' => 'Gwrizienn al lec’hienn', |
|
| 431 | - 'info_recharger_page' => 'Adkargit ar-bajenn-mañ a-raok pell, mar plij.', |
|
| 432 | - 'info_recherche_auteur_zero' => 'N’eus bet kavet disoc’h ebet evit « @cherche_auteur@ ».', |
|
| 433 | - 'info_recommencer' => 'Klaskit en-dro mar plij.', |
|
| 434 | - 'info_redacteur_1' => 'Skridaozer', |
|
| 435 | - 'info_redacteur_2' => 'aotreet da vont war al lodenn brevez (<i>erbedet</i>)', |
|
| 436 | - 'info_redacteurs' => 'Skridaozerien', |
|
| 437 | - 'info_redaction_en_cours' => 'O VEZAÑ SKRIDAOZET', |
|
| 438 | - 'info_redirection' => 'Adheñchañ', |
|
| 439 | - 'info_redirection_activee' => 'War adwerediñ', |
|
| 440 | - 'info_redirection_boucle' => 'Emaoc’h o klask adkas ur pennad-skrid warnañ e-unan.', |
|
| 441 | - 'info_redirection_desactivee' => 'Torret eo bet an adwerediñ.', |
|
| 442 | - 'info_refuses' => 'Ho pennadoù bet nac’het', |
|
| 443 | - 'info_reglage_ldap' => 'Dibarzhioù : <b>Reizhañ an enporzhiañ LDAP</b>', |
|
| 444 | - 'info_renvoi_article' => '<b>Adheñchañ.</b> Adkas a ra ar pennad-mañ d’ar bajenn :', |
|
| 445 | - 'info_reserve_admin' => 'N’eus nemet ar verourien a c’hall kemmañ ar chomlec’h-mañ.', |
|
| 446 | - 'info_restreindre_rubrique' => 'Strishaat ar merañ d’ar rubrikenn-mañ :', |
|
| 447 | - 'info_resultat_recherche' => 'Disoc’hoù an enklask :', |
|
| 448 | - 'info_rubriques' => 'Rubrikennoù', |
|
| 449 | - 'info_rubriques_02' => 'rubrikennoù', |
|
| 450 | - 'info_rubriques_trouvees' => 'Rubrikennoù bet kavet', |
|
| 451 | - 'info_sans_titre' => 'Titl ebet', |
|
| 452 | - 'info_selection_chemin_acces' => '<b>Diuzit</b> amañ dindan an hent evit tizhout ar rollad tud :', |
|
| 453 | - 'info_signatures' => 'sinadurioù', |
|
| 454 | - 'info_site' => 'Lec’hienn', |
|
| 455 | - 'info_site_2' => 'lec’hienn :', |
|
| 456 | - 'info_site_min' => 'lec’hienn', |
|
| 457 | - 'info_site_reference_2' => 'Lec’hienn menegeret', |
|
| 458 | - 'info_site_web' => 'Load internet :', |
|
| 459 | - 'info_sites' => 'lec’hiennoù', |
|
| 460 | - 'info_sites_lies_mot' => 'Al lec’hiennoù menegeret liammet ouzh ar ger-stur-mañ', |
|
| 461 | - 'info_sites_proxy' => 'Implijout ur proksi', |
|
| 462 | - 'info_sites_trouves' => 'Lec’hiennoù bet kavet', |
|
| 463 | - 'info_sous_titre' => 'Istitl :', |
|
| 464 | - 'info_statut_administrateur' => 'Merour', |
|
| 465 | - 'info_statut_auteur' => 'Statud ar skridaozer-mañ :', |
|
| 466 | - 'info_statut_auteur_2' => 'Me a zo', |
|
| 467 | - 'info_statut_auteur_a_confirmer' => 'Enskrivadur da gadarnaat', |
|
| 468 | - 'info_statut_auteur_autre' => 'Statud all :', |
|
| 469 | - 'info_statut_redacteur' => 'Skridaozer', |
|
| 470 | - 'info_statut_utilisateurs_1' => 'Staelad dre ziouer an implijerion enporzhiet', |
|
| 471 | - 'info_statut_utilisateurs_2' => 'Dibabit ar statud da reiñ da dud ar rollad tud LDAP pa gevreont evit ar wech kentañ. Gallout a reoo da c’houde kemmañ ar statud-se unan evit pep aozer unan hag unan.', |
|
| 472 | - 'info_suivi_activite' => 'Heuliañ an embannerezh', |
|
| 473 | - 'info_surtitre' => 'Ustitl :', |
|
| 474 | - 'info_syndication_integrale_1' => 'Kinnig a ra ho lec’hienn restroù sindikadañ (gwelet « <a href="@url@">@titre@</a> »).', |
|
| 475 | - 'info_syndication_integrale_2' => 'Ha c’hoant hoc’h eus da ginnig ar pennadoù penn-da-benn, pe embann un diverrañ anezho, ennañ un nebeud kantadoù a arouezennoù ?', |
|
| 476 | - 'info_table_prefix' => 'Ma staliit meur a lec’hienn war ar memes diaz titouroù e c’hellit kemmañ ar rakgerioù zo e penn-kentañ anv an diazoù titouroù; ret eo deoc’h skrivañ gant lizherennoù bihan hep tired warno (ñ, ù, é, à, ...) hag hep esaouenn.', |
|
| 477 | - 'info_taille_maximale_images' => 'Emañ SPIP o vont da arnodiñ ment vrasañ posupl ar skeudennoù a c’hell bezañ meret gantañ (e milionoù a bikseloù).<br />Ne vo ket bihanaet ar skeudennoù brasoc’h.', |
|
| 478 | - 'info_taille_maximale_vignette' => 'Ment vrasañ ar skeudennoùigoù krouet gant ar reizhiad :', |
|
| 479 | - 'info_terminer_installation' => 'Bremañ e c’hellit echuiñ gant an argerzh staliañ standard.', |
|
| 480 | - 'info_texte' => 'Testenn', |
|
| 481 | - 'info_texte_explicatif' => 'Testenn displegañ', |
|
| 482 | - 'info_texte_long' => '(Dre ma’z eo hir an destenn eo bet rannet e meur a lodenn, a vo adpeget asambles goude ma vo bet aprouet an destenn)', |
|
| 483 | - 'info_texte_message' => 'Testenn ho kemennadenn :', |
|
| 484 | - 'info_texte_message_02' => 'Testenn ar gemennadenn', |
|
| 485 | - 'info_titre' => 'Titl :', |
|
| 486 | - 'info_total' => 'hollad :', |
|
| 487 | - 'info_tous_articles_en_redaction' => 'An holl bennadoù emeur o skridaozañ', |
|
| 488 | - 'info_tous_articles_presents' => 'An holl pennadoù bet embannet er rubrikenn-mañ', |
|
| 489 | - 'info_tous_articles_refuses' => 'An holl bennadoù distaolet', |
|
| 490 | - 'info_tous_les' => 'an holl :', |
|
| 491 | - 'info_tout_site' => 'Al lec’hienn a-bezh', |
|
| 492 | - 'info_tout_site2' => 'N’eo ket bet troet ar pennad er yezh-mañ.', |
|
| 493 | - 'info_tout_site3' => 'Troet eo bet ar pennad, met abaoe eo bet kemmet ar pennad orin. Ret eo nevesaat an droidigezh.', |
|
| 494 | - 'info_tout_site4' => 'Troet eo bet ar pennad er yezh-mañ, ha n’eus ket ezhomm da nevesaat an droidigezh.', |
|
| 495 | - 'info_tout_site5' => 'Pennad orin.', |
|
| 496 | - 'info_tout_site6' => '<b>Diwallit :</b>Ne vez diskouezet nemet ar pennadoù orin. |
|
| 429 | + 'info_qui_edite' => '@nom_auteur_modif@ en deus labouret war an danvez-se @date_diff@ minutes zo', |
|
| 430 | + 'info_racine_site' => 'Gwrizienn al lec’hienn', |
|
| 431 | + 'info_recharger_page' => 'Adkargit ar-bajenn-mañ a-raok pell, mar plij.', |
|
| 432 | + 'info_recherche_auteur_zero' => 'N’eus bet kavet disoc’h ebet evit « @cherche_auteur@ ».', |
|
| 433 | + 'info_recommencer' => 'Klaskit en-dro mar plij.', |
|
| 434 | + 'info_redacteur_1' => 'Skridaozer', |
|
| 435 | + 'info_redacteur_2' => 'aotreet da vont war al lodenn brevez (<i>erbedet</i>)', |
|
| 436 | + 'info_redacteurs' => 'Skridaozerien', |
|
| 437 | + 'info_redaction_en_cours' => 'O VEZAÑ SKRIDAOZET', |
|
| 438 | + 'info_redirection' => 'Adheñchañ', |
|
| 439 | + 'info_redirection_activee' => 'War adwerediñ', |
|
| 440 | + 'info_redirection_boucle' => 'Emaoc’h o klask adkas ur pennad-skrid warnañ e-unan.', |
|
| 441 | + 'info_redirection_desactivee' => 'Torret eo bet an adwerediñ.', |
|
| 442 | + 'info_refuses' => 'Ho pennadoù bet nac’het', |
|
| 443 | + 'info_reglage_ldap' => 'Dibarzhioù : <b>Reizhañ an enporzhiañ LDAP</b>', |
|
| 444 | + 'info_renvoi_article' => '<b>Adheñchañ.</b> Adkas a ra ar pennad-mañ d’ar bajenn :', |
|
| 445 | + 'info_reserve_admin' => 'N’eus nemet ar verourien a c’hall kemmañ ar chomlec’h-mañ.', |
|
| 446 | + 'info_restreindre_rubrique' => 'Strishaat ar merañ d’ar rubrikenn-mañ :', |
|
| 447 | + 'info_resultat_recherche' => 'Disoc’hoù an enklask :', |
|
| 448 | + 'info_rubriques' => 'Rubrikennoù', |
|
| 449 | + 'info_rubriques_02' => 'rubrikennoù', |
|
| 450 | + 'info_rubriques_trouvees' => 'Rubrikennoù bet kavet', |
|
| 451 | + 'info_sans_titre' => 'Titl ebet', |
|
| 452 | + 'info_selection_chemin_acces' => '<b>Diuzit</b> amañ dindan an hent evit tizhout ar rollad tud :', |
|
| 453 | + 'info_signatures' => 'sinadurioù', |
|
| 454 | + 'info_site' => 'Lec’hienn', |
|
| 455 | + 'info_site_2' => 'lec’hienn :', |
|
| 456 | + 'info_site_min' => 'lec’hienn', |
|
| 457 | + 'info_site_reference_2' => 'Lec’hienn menegeret', |
|
| 458 | + 'info_site_web' => 'Load internet :', |
|
| 459 | + 'info_sites' => 'lec’hiennoù', |
|
| 460 | + 'info_sites_lies_mot' => 'Al lec’hiennoù menegeret liammet ouzh ar ger-stur-mañ', |
|
| 461 | + 'info_sites_proxy' => 'Implijout ur proksi', |
|
| 462 | + 'info_sites_trouves' => 'Lec’hiennoù bet kavet', |
|
| 463 | + 'info_sous_titre' => 'Istitl :', |
|
| 464 | + 'info_statut_administrateur' => 'Merour', |
|
| 465 | + 'info_statut_auteur' => 'Statud ar skridaozer-mañ :', |
|
| 466 | + 'info_statut_auteur_2' => 'Me a zo', |
|
| 467 | + 'info_statut_auteur_a_confirmer' => 'Enskrivadur da gadarnaat', |
|
| 468 | + 'info_statut_auteur_autre' => 'Statud all :', |
|
| 469 | + 'info_statut_redacteur' => 'Skridaozer', |
|
| 470 | + 'info_statut_utilisateurs_1' => 'Staelad dre ziouer an implijerion enporzhiet', |
|
| 471 | + 'info_statut_utilisateurs_2' => 'Dibabit ar statud da reiñ da dud ar rollad tud LDAP pa gevreont evit ar wech kentañ. Gallout a reoo da c’houde kemmañ ar statud-se unan evit pep aozer unan hag unan.', |
|
| 472 | + 'info_suivi_activite' => 'Heuliañ an embannerezh', |
|
| 473 | + 'info_surtitre' => 'Ustitl :', |
|
| 474 | + 'info_syndication_integrale_1' => 'Kinnig a ra ho lec’hienn restroù sindikadañ (gwelet « <a href="@url@">@titre@</a> »).', |
|
| 475 | + 'info_syndication_integrale_2' => 'Ha c’hoant hoc’h eus da ginnig ar pennadoù penn-da-benn, pe embann un diverrañ anezho, ennañ un nebeud kantadoù a arouezennoù ?', |
|
| 476 | + 'info_table_prefix' => 'Ma staliit meur a lec’hienn war ar memes diaz titouroù e c’hellit kemmañ ar rakgerioù zo e penn-kentañ anv an diazoù titouroù; ret eo deoc’h skrivañ gant lizherennoù bihan hep tired warno (ñ, ù, é, à, ...) hag hep esaouenn.', |
|
| 477 | + 'info_taille_maximale_images' => 'Emañ SPIP o vont da arnodiñ ment vrasañ posupl ar skeudennoù a c’hell bezañ meret gantañ (e milionoù a bikseloù).<br />Ne vo ket bihanaet ar skeudennoù brasoc’h.', |
|
| 478 | + 'info_taille_maximale_vignette' => 'Ment vrasañ ar skeudennoùigoù krouet gant ar reizhiad :', |
|
| 479 | + 'info_terminer_installation' => 'Bremañ e c’hellit echuiñ gant an argerzh staliañ standard.', |
|
| 480 | + 'info_texte' => 'Testenn', |
|
| 481 | + 'info_texte_explicatif' => 'Testenn displegañ', |
|
| 482 | + 'info_texte_long' => '(Dre ma’z eo hir an destenn eo bet rannet e meur a lodenn, a vo adpeget asambles goude ma vo bet aprouet an destenn)', |
|
| 483 | + 'info_texte_message' => 'Testenn ho kemennadenn :', |
|
| 484 | + 'info_texte_message_02' => 'Testenn ar gemennadenn', |
|
| 485 | + 'info_titre' => 'Titl :', |
|
| 486 | + 'info_total' => 'hollad :', |
|
| 487 | + 'info_tous_articles_en_redaction' => 'An holl bennadoù emeur o skridaozañ', |
|
| 488 | + 'info_tous_articles_presents' => 'An holl pennadoù bet embannet er rubrikenn-mañ', |
|
| 489 | + 'info_tous_articles_refuses' => 'An holl bennadoù distaolet', |
|
| 490 | + 'info_tous_les' => 'an holl :', |
|
| 491 | + 'info_tout_site' => 'Al lec’hienn a-bezh', |
|
| 492 | + 'info_tout_site2' => 'N’eo ket bet troet ar pennad er yezh-mañ.', |
|
| 493 | + 'info_tout_site3' => 'Troet eo bet ar pennad, met abaoe eo bet kemmet ar pennad orin. Ret eo nevesaat an droidigezh.', |
|
| 494 | + 'info_tout_site4' => 'Troet eo bet ar pennad er yezh-mañ, ha n’eus ket ezhomm da nevesaat an droidigezh.', |
|
| 495 | + 'info_tout_site5' => 'Pennad orin.', |
|
| 496 | + 'info_tout_site6' => '<b>Diwallit :</b>Ne vez diskouezet nemet ar pennadoù orin. |
|
| 497 | 497 | Stag eo an troidigezhioù outo, |
| 498 | 498 | diskouezet en ul liv disheñvel, diouzh o stad :', |
| 499 | - 'info_traductions' => 'Troidigezhioù', |
|
| 500 | - 'info_travail_colaboratif' => 'Labour a-stroll war ar pennadoù', |
|
| 501 | - 'info_un_article' => 'ur pennad,', |
|
| 502 | - 'info_un_site' => 'ul load', |
|
| 503 | - 'info_une_rubrique' => 'ur rubrikenn,', |
|
| 504 | - 'info_une_rubrique_02' => '1 rubrikenn', |
|
| 505 | - 'info_url' => 'URL :', |
|
| 506 | - 'info_url_proxy' => 'URL ar proksi', |
|
| 507 | - 'info_url_proxy_pas_conforme' => 'Direizh eo an URL proxy', |
|
| 508 | - 'info_url_site_pas_conforme' => 'n’eo ket reizh URL al lec’hien.', |
|
| 509 | - 'info_url_test_proxy' => 'URL prouata', |
|
| 510 | - 'info_urlref' => 'Liamm gourskrid :', |
|
| 511 | - 'info_utilisation_spip' => 'Bremañ e c’hellit kregiñ da implijout ar reizhiad embann ameilet...', |
|
| 512 | - 'info_visites_par_mois' => 'Diskouez dre viz :', |
|
| 513 | - 'info_visiteur_1' => 'Gweladenner', |
|
| 514 | - 'info_visiteur_2' => 'Mont d’al lec’hienn foran', |
|
| 515 | - 'info_visiteurs' => 'Gweladennerion', |
|
| 516 | - 'info_visiteurs_02' => 'Gweladenner al lec’hienn foran', |
|
| 517 | - 'info_webmestre_forces' => 'termenet eo ar vistri-gwiad bremañ e <tt>@file_options@</tt>.', |
|
| 518 | - 'install_adresse_base_hebergeur' => 'Chomlec’h an diaz titouroù roet gant an herberc’hier', |
|
| 519 | - 'install_connect_ok' => 'Disklêriet eo bet ar bon nevez dindan anv an dafariad @connect@.', |
|
| 520 | - 'install_echec_annonce' => 'Moarvat e c’hwito ar staliadur pe e kaso d’ul lec’hienn na’z aio ket en-dro...', |
|
| 521 | - 'install_extension_mbstring' => 'Ne’z a ket SPIP en-dro gant :', |
|
| 522 | - 'install_extension_php_obligatoire' => 'Ezhomm en deus SPIP eus an astenn php :', |
|
| 523 | - 'install_login_base_hebergeur' => 'Kod kevreañ roet gant an herberc’hier', |
|
| 524 | - 'install_nom_base_hebergeur' => 'Anv an diaz roet gant an herberc’hier :', |
|
| 525 | - 'install_pas_table' => 'Taolenn ebet en diaz evit poent', |
|
| 526 | - 'install_pass_base_hebergeur' => 'Ger-tremen kevreañ roet gant an herberc’hier', |
|
| 527 | - 'install_php_version' => 'n’eo ket trawalc’h stumm @version@ PHP (@minimum@ d’an nebeutañ)', |
|
| 528 | - 'install_select_langue' => 'Diuzit ur yezh, ha klikit war « War-lerc’h » evit kregiñ gant ar staliañ.', |
|
| 529 | - 'install_select_type_db' => 'Merkit ar seurt diaz titouroù :', |
|
| 530 | - 'install_select_type_mysql' => 'MySQL', |
|
| 531 | - 'install_select_type_pg' => 'PostgreSQL', |
|
| 532 | - 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 533 | - 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 534 | - 'install_serveur_hebergeur' => 'Servijer diaz titouroù lakaet gant an herberc’hier', |
|
| 535 | - 'install_table_prefix_hebergeur' => 'Rakger an diaz roet gant an herberc’hier :', |
|
| 536 | - 'install_tables_base' => 'Taolennoù er reizhiad', |
|
| 537 | - 'install_types_db_connus' => 'Gallout a ra SPIP ober gant <b>MySQL</b> (an hini implijetañ), <b>PostgreSQL</b> ha <b>SQLite</b>.', |
|
| 538 | - 'install_types_db_connus_avertissement' => 'Diwallit : meur a adveziant ne’z eont en-dro nemet gant MySQL', |
|
| 539 | - 'instituer_erreur_statut_a_change' => 'Daskemmet eo bet ar staelad endeo', |
|
| 540 | - 'instituer_erreur_statut_non_autorise' => 'Ne c’hallit ket dibab ar staelad-se', |
|
| 541 | - 'intem_redacteur' => 'skridaozer', |
|
| 542 | - 'intitule_licence' => 'Aotre', |
|
| 543 | - 'item_accepter_inscriptions' => 'Degemer an enskrivadurioù', |
|
| 544 | - 'item_activer_messages_avertissement' => 'Gweredekaat ar c’hemennoù diwall', |
|
| 545 | - 'item_administrateur_2' => 'merour', |
|
| 546 | - 'item_afficher_calendrier' => 'Diskouez en deiziataer', |
|
| 547 | - 'item_autoriser_syndication_integrale' => 'Skignañ an holl bennadoù er restroù sindikadañ', |
|
| 548 | - 'item_choix_administrateurs' => 'ar verourion', |
|
| 549 | - 'item_choix_generation_miniature' => 'Krouiñ arlunioù ar skeudennoù en un doare emgefre.', |
|
| 550 | - 'item_choix_non_generation_miniature' => 'Chom hep krouiñ arlunioù diwar skeudennoù.', |
|
| 551 | - 'item_choix_redacteurs' => 'ar skridaozerion', |
|
| 552 | - 'item_choix_visiteurs' => 'gweladennerien al lec’hienn foran', |
|
| 553 | - 'item_creer_fichiers_authent' => 'Krouiñ ar restroù .htpasswd', |
|
| 554 | - 'item_login' => 'Kod kevreañ', |
|
| 555 | - 'item_messagerie_agenda' => 'Gweredekaat ar postelerezh hag an deiziataer', |
|
| 556 | - 'item_mots_cles_association_articles' => 'ouzh ar pennadoù', |
|
| 557 | - 'item_mots_cles_association_rubriques' => 'ouzh ar rubrikennoù', |
|
| 558 | - 'item_mots_cles_association_sites' => 'ouzh al lec’hiennoù rollet pe sindikadet.', |
|
| 559 | - 'item_non' => 'Ket', |
|
| 560 | - 'item_non_accepter_inscriptions' => 'Chom hep degemer an enskrivadurioù', |
|
| 561 | - 'item_non_activer_messages_avertissement' => 'Kemenn diwall ebet', |
|
| 562 | - 'item_non_afficher_calendrier' => 'Chom hep diskouez en deiziataer', |
|
| 563 | - 'item_non_autoriser_syndication_integrale' => 'Embann un diverrañ hepken', |
|
| 564 | - 'item_non_creer_fichiers_authent' => 'Arabat krouiñ ar restroù-se', |
|
| 565 | - 'item_non_messagerie_agenda' => 'Diweredekaat ar postelerezh hag an deiziataer', |
|
| 566 | - 'item_non_publier_articles' => 'Na embann ar pennadoù a-raok an deiziad embann lakaet.', |
|
| 567 | - 'item_nouvel_auteur' => 'Skridaozer nevez', |
|
| 568 | - 'item_nouvelle_rubrique' => 'Rubrikenn nevez', |
|
| 569 | - 'item_oui' => 'Ya', |
|
| 570 | - 'item_publier_articles' => 'Embann ar pennadoù, ne vern an deiziad embann lakaet dezho.', |
|
| 571 | - 'item_reponse_article' => 'Respont d’ar pennad', |
|
| 572 | - 'item_visiteur' => 'gweladenner', |
|
| 499 | + 'info_traductions' => 'Troidigezhioù', |
|
| 500 | + 'info_travail_colaboratif' => 'Labour a-stroll war ar pennadoù', |
|
| 501 | + 'info_un_article' => 'ur pennad,', |
|
| 502 | + 'info_un_site' => 'ul load', |
|
| 503 | + 'info_une_rubrique' => 'ur rubrikenn,', |
|
| 504 | + 'info_une_rubrique_02' => '1 rubrikenn', |
|
| 505 | + 'info_url' => 'URL :', |
|
| 506 | + 'info_url_proxy' => 'URL ar proksi', |
|
| 507 | + 'info_url_proxy_pas_conforme' => 'Direizh eo an URL proxy', |
|
| 508 | + 'info_url_site_pas_conforme' => 'n’eo ket reizh URL al lec’hien.', |
|
| 509 | + 'info_url_test_proxy' => 'URL prouata', |
|
| 510 | + 'info_urlref' => 'Liamm gourskrid :', |
|
| 511 | + 'info_utilisation_spip' => 'Bremañ e c’hellit kregiñ da implijout ar reizhiad embann ameilet...', |
|
| 512 | + 'info_visites_par_mois' => 'Diskouez dre viz :', |
|
| 513 | + 'info_visiteur_1' => 'Gweladenner', |
|
| 514 | + 'info_visiteur_2' => 'Mont d’al lec’hienn foran', |
|
| 515 | + 'info_visiteurs' => 'Gweladennerion', |
|
| 516 | + 'info_visiteurs_02' => 'Gweladenner al lec’hienn foran', |
|
| 517 | + 'info_webmestre_forces' => 'termenet eo ar vistri-gwiad bremañ e <tt>@file_options@</tt>.', |
|
| 518 | + 'install_adresse_base_hebergeur' => 'Chomlec’h an diaz titouroù roet gant an herberc’hier', |
|
| 519 | + 'install_connect_ok' => 'Disklêriet eo bet ar bon nevez dindan anv an dafariad @connect@.', |
|
| 520 | + 'install_echec_annonce' => 'Moarvat e c’hwito ar staliadur pe e kaso d’ul lec’hienn na’z aio ket en-dro...', |
|
| 521 | + 'install_extension_mbstring' => 'Ne’z a ket SPIP en-dro gant :', |
|
| 522 | + 'install_extension_php_obligatoire' => 'Ezhomm en deus SPIP eus an astenn php :', |
|
| 523 | + 'install_login_base_hebergeur' => 'Kod kevreañ roet gant an herberc’hier', |
|
| 524 | + 'install_nom_base_hebergeur' => 'Anv an diaz roet gant an herberc’hier :', |
|
| 525 | + 'install_pas_table' => 'Taolenn ebet en diaz evit poent', |
|
| 526 | + 'install_pass_base_hebergeur' => 'Ger-tremen kevreañ roet gant an herberc’hier', |
|
| 527 | + 'install_php_version' => 'n’eo ket trawalc’h stumm @version@ PHP (@minimum@ d’an nebeutañ)', |
|
| 528 | + 'install_select_langue' => 'Diuzit ur yezh, ha klikit war « War-lerc’h » evit kregiñ gant ar staliañ.', |
|
| 529 | + 'install_select_type_db' => 'Merkit ar seurt diaz titouroù :', |
|
| 530 | + 'install_select_type_mysql' => 'MySQL', |
|
| 531 | + 'install_select_type_pg' => 'PostgreSQL', |
|
| 532 | + 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 533 | + 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 534 | + 'install_serveur_hebergeur' => 'Servijer diaz titouroù lakaet gant an herberc’hier', |
|
| 535 | + 'install_table_prefix_hebergeur' => 'Rakger an diaz roet gant an herberc’hier :', |
|
| 536 | + 'install_tables_base' => 'Taolennoù er reizhiad', |
|
| 537 | + 'install_types_db_connus' => 'Gallout a ra SPIP ober gant <b>MySQL</b> (an hini implijetañ), <b>PostgreSQL</b> ha <b>SQLite</b>.', |
|
| 538 | + 'install_types_db_connus_avertissement' => 'Diwallit : meur a adveziant ne’z eont en-dro nemet gant MySQL', |
|
| 539 | + 'instituer_erreur_statut_a_change' => 'Daskemmet eo bet ar staelad endeo', |
|
| 540 | + 'instituer_erreur_statut_non_autorise' => 'Ne c’hallit ket dibab ar staelad-se', |
|
| 541 | + 'intem_redacteur' => 'skridaozer', |
|
| 542 | + 'intitule_licence' => 'Aotre', |
|
| 543 | + 'item_accepter_inscriptions' => 'Degemer an enskrivadurioù', |
|
| 544 | + 'item_activer_messages_avertissement' => 'Gweredekaat ar c’hemennoù diwall', |
|
| 545 | + 'item_administrateur_2' => 'merour', |
|
| 546 | + 'item_afficher_calendrier' => 'Diskouez en deiziataer', |
|
| 547 | + 'item_autoriser_syndication_integrale' => 'Skignañ an holl bennadoù er restroù sindikadañ', |
|
| 548 | + 'item_choix_administrateurs' => 'ar verourion', |
|
| 549 | + 'item_choix_generation_miniature' => 'Krouiñ arlunioù ar skeudennoù en un doare emgefre.', |
|
| 550 | + 'item_choix_non_generation_miniature' => 'Chom hep krouiñ arlunioù diwar skeudennoù.', |
|
| 551 | + 'item_choix_redacteurs' => 'ar skridaozerion', |
|
| 552 | + 'item_choix_visiteurs' => 'gweladennerien al lec’hienn foran', |
|
| 553 | + 'item_creer_fichiers_authent' => 'Krouiñ ar restroù .htpasswd', |
|
| 554 | + 'item_login' => 'Kod kevreañ', |
|
| 555 | + 'item_messagerie_agenda' => 'Gweredekaat ar postelerezh hag an deiziataer', |
|
| 556 | + 'item_mots_cles_association_articles' => 'ouzh ar pennadoù', |
|
| 557 | + 'item_mots_cles_association_rubriques' => 'ouzh ar rubrikennoù', |
|
| 558 | + 'item_mots_cles_association_sites' => 'ouzh al lec’hiennoù rollet pe sindikadet.', |
|
| 559 | + 'item_non' => 'Ket', |
|
| 560 | + 'item_non_accepter_inscriptions' => 'Chom hep degemer an enskrivadurioù', |
|
| 561 | + 'item_non_activer_messages_avertissement' => 'Kemenn diwall ebet', |
|
| 562 | + 'item_non_afficher_calendrier' => 'Chom hep diskouez en deiziataer', |
|
| 563 | + 'item_non_autoriser_syndication_integrale' => 'Embann un diverrañ hepken', |
|
| 564 | + 'item_non_creer_fichiers_authent' => 'Arabat krouiñ ar restroù-se', |
|
| 565 | + 'item_non_messagerie_agenda' => 'Diweredekaat ar postelerezh hag an deiziataer', |
|
| 566 | + 'item_non_publier_articles' => 'Na embann ar pennadoù a-raok an deiziad embann lakaet.', |
|
| 567 | + 'item_nouvel_auteur' => 'Skridaozer nevez', |
|
| 568 | + 'item_nouvelle_rubrique' => 'Rubrikenn nevez', |
|
| 569 | + 'item_oui' => 'Ya', |
|
| 570 | + 'item_publier_articles' => 'Embann ar pennadoù, ne vern an deiziad embann lakaet dezho.', |
|
| 571 | + 'item_reponse_article' => 'Respont d’ar pennad', |
|
| 572 | + 'item_visiteur' => 'gweladenner', |
|
| 573 | 573 | |
| 574 | - // J |
|
| 575 | - 'jour_non_connu_nc' => 'dianav', |
|
| 574 | + // J |
|
| 575 | + 'jour_non_connu_nc' => 'dianav', |
|
| 576 | 576 | |
| 577 | - // L |
|
| 578 | - 'label_bando_outils' => 'Barrenn ostilhoù', |
|
| 579 | - 'label_bando_outils_afficher' => 'Diskouez an ostilhoù', |
|
| 580 | - 'label_bando_outils_masquer' => 'Kuzhat an ostilhoù', |
|
| 581 | - 'label_choix_langue' => 'Dibabit ho yezh', |
|
| 582 | - 'label_nom_fichier_connect' => 'Lakait anv an dafariad-mañ', |
|
| 583 | - 'label_slogan_site' => 'Lugan al load internet', |
|
| 584 | - 'label_taille_ecran' => 'Ledander ar skramm', |
|
| 585 | - 'label_texte_et_icones_navigation' => 'Lañser gwedeiñ', |
|
| 586 | - 'label_texte_et_icones_page' => 'Diskouez er bajenn', |
|
| 587 | - 'ldap_correspondance' => 'hêrezh ar vaezienn @champ@', |
|
| 588 | - 'ldap_correspondance_1' => 'Hêrezh ar maeziennoù LDAP', |
|
| 589 | - 'ldap_correspondance_2' => 'Merkañ anv ar vaezienn LDAP evit pep hini eus ar maeziennoù SPIP da-heul. Lezel goullo kuit na vefe leuniet pa dispartiañ dre skejoù evit esaeañ meur a vaezienn LDAP.', |
|
| 590 | - 'lien_ajouter_auteur' => 'Ouzhpennañ ar skridaozer-mañ', |
|
| 591 | - 'lien_ajouter_une_rubrique' => 'Ouzhpennañ ar rubrikenn-mañ', |
|
| 592 | - 'lien_email' => 'postel', |
|
| 593 | - 'lien_nom_site' => 'ANV AL LEC’HIENN :', |
|
| 594 | - 'lien_rapide_contenu' => 'Mont d’an endalc’had', |
|
| 595 | - 'lien_rapide_navigation' => 'Mont da verdeiñ', |
|
| 596 | - 'lien_rapide_recherche' => 'Mont d’an enklask', |
|
| 597 | - 'lien_retirer_auteur' => 'Lemel ar skridaozer', |
|
| 598 | - 'lien_retirer_rubrique' => 'Tennañ kuit ar rubrikenn', |
|
| 599 | - 'lien_retirer_tous_auteurs' => 'Tennañ kuit an holl aozerion', |
|
| 600 | - 'lien_retirer_toutes_rubriques' => 'Tennañ kuit holl ar rubrikennoù', |
|
| 601 | - 'lien_site' => 'lec’hienn', |
|
| 602 | - 'lien_tout_decocher' => 'Diaskañ an holl', |
|
| 603 | - 'lien_tout_deplier' => 'Dispakañ pep tra', |
|
| 604 | - 'lien_tout_replier' => 'Adpakañ pep tra', |
|
| 605 | - 'lien_tout_supprimer' => 'Diverkañ pep tra', |
|
| 606 | - 'lien_trier_nom' => 'Renkañ diouzh an anv', |
|
| 607 | - 'lien_trier_nombre_articles' => 'Renkañ diouzh an niver a bennadoù', |
|
| 608 | - 'lien_trier_statut' => 'Renkañ diouzh ar statud', |
|
| 609 | - 'lien_voir_en_ligne' => 'GWELET ENLINENN :', |
|
| 610 | - 'logo_article' => 'LOGO AR PENNAD', |
|
| 611 | - 'logo_auteur' => 'LOGO AR SKRIDAOZER', |
|
| 612 | - 'logo_rubrique' => 'LOGO AR RUBRIKENN', |
|
| 613 | - 'logo_site' => 'LOGO AL LOAD INTERNET-MAÑ', |
|
| 614 | - 'logo_standard_rubrique' => 'LOGO BOAS AR RUBRIKENNOÙ', |
|
| 615 | - 'logo_survol' => 'LOGO RIKLAÑ AL LOGODENN', |
|
| 577 | + // L |
|
| 578 | + 'label_bando_outils' => 'Barrenn ostilhoù', |
|
| 579 | + 'label_bando_outils_afficher' => 'Diskouez an ostilhoù', |
|
| 580 | + 'label_bando_outils_masquer' => 'Kuzhat an ostilhoù', |
|
| 581 | + 'label_choix_langue' => 'Dibabit ho yezh', |
|
| 582 | + 'label_nom_fichier_connect' => 'Lakait anv an dafariad-mañ', |
|
| 583 | + 'label_slogan_site' => 'Lugan al load internet', |
|
| 584 | + 'label_taille_ecran' => 'Ledander ar skramm', |
|
| 585 | + 'label_texte_et_icones_navigation' => 'Lañser gwedeiñ', |
|
| 586 | + 'label_texte_et_icones_page' => 'Diskouez er bajenn', |
|
| 587 | + 'ldap_correspondance' => 'hêrezh ar vaezienn @champ@', |
|
| 588 | + 'ldap_correspondance_1' => 'Hêrezh ar maeziennoù LDAP', |
|
| 589 | + 'ldap_correspondance_2' => 'Merkañ anv ar vaezienn LDAP evit pep hini eus ar maeziennoù SPIP da-heul. Lezel goullo kuit na vefe leuniet pa dispartiañ dre skejoù evit esaeañ meur a vaezienn LDAP.', |
|
| 590 | + 'lien_ajouter_auteur' => 'Ouzhpennañ ar skridaozer-mañ', |
|
| 591 | + 'lien_ajouter_une_rubrique' => 'Ouzhpennañ ar rubrikenn-mañ', |
|
| 592 | + 'lien_email' => 'postel', |
|
| 593 | + 'lien_nom_site' => 'ANV AL LEC’HIENN :', |
|
| 594 | + 'lien_rapide_contenu' => 'Mont d’an endalc’had', |
|
| 595 | + 'lien_rapide_navigation' => 'Mont da verdeiñ', |
|
| 596 | + 'lien_rapide_recherche' => 'Mont d’an enklask', |
|
| 597 | + 'lien_retirer_auteur' => 'Lemel ar skridaozer', |
|
| 598 | + 'lien_retirer_rubrique' => 'Tennañ kuit ar rubrikenn', |
|
| 599 | + 'lien_retirer_tous_auteurs' => 'Tennañ kuit an holl aozerion', |
|
| 600 | + 'lien_retirer_toutes_rubriques' => 'Tennañ kuit holl ar rubrikennoù', |
|
| 601 | + 'lien_site' => 'lec’hienn', |
|
| 602 | + 'lien_tout_decocher' => 'Diaskañ an holl', |
|
| 603 | + 'lien_tout_deplier' => 'Dispakañ pep tra', |
|
| 604 | + 'lien_tout_replier' => 'Adpakañ pep tra', |
|
| 605 | + 'lien_tout_supprimer' => 'Diverkañ pep tra', |
|
| 606 | + 'lien_trier_nom' => 'Renkañ diouzh an anv', |
|
| 607 | + 'lien_trier_nombre_articles' => 'Renkañ diouzh an niver a bennadoù', |
|
| 608 | + 'lien_trier_statut' => 'Renkañ diouzh ar statud', |
|
| 609 | + 'lien_voir_en_ligne' => 'GWELET ENLINENN :', |
|
| 610 | + 'logo_article' => 'LOGO AR PENNAD', |
|
| 611 | + 'logo_auteur' => 'LOGO AR SKRIDAOZER', |
|
| 612 | + 'logo_rubrique' => 'LOGO AR RUBRIKENN', |
|
| 613 | + 'logo_site' => 'LOGO AL LOAD INTERNET-MAÑ', |
|
| 614 | + 'logo_standard_rubrique' => 'LOGO BOAS AR RUBRIKENNOÙ', |
|
| 615 | + 'logo_survol' => 'LOGO RIKLAÑ AL LOGODENN', |
|
| 616 | 616 | |
| 617 | - // M |
|
| 618 | - 'menu_aide_installation_choix_base' => 'dibab ho tiaz', |
|
| 619 | - 'module_fichier_langue' => 'Restr yezh', |
|
| 620 | - 'module_raccourci' => 'Berradenn', |
|
| 621 | - 'module_texte_affiche' => 'Testenn diskouezet', |
|
| 622 | - 'module_texte_explicatif' => 'Gallout a rit ouzhpennañ ar berradennoù da-heul e frammoù al lec’hienn foran. En un doare emgefreek e vint troet er yezhoù ma’z eus ur restr yezh.', |
|
| 623 | - 'module_texte_traduction' => 'Gallout a reer kaout ar restr yezh « @module@ » e :', |
|
| 624 | - 'mois_non_connu' => 'dianav', |
|
| 617 | + // M |
|
| 618 | + 'menu_aide_installation_choix_base' => 'dibab ho tiaz', |
|
| 619 | + 'module_fichier_langue' => 'Restr yezh', |
|
| 620 | + 'module_raccourci' => 'Berradenn', |
|
| 621 | + 'module_texte_affiche' => 'Testenn diskouezet', |
|
| 622 | + 'module_texte_explicatif' => 'Gallout a rit ouzhpennañ ar berradennoù da-heul e frammoù al lec’hienn foran. En un doare emgefreek e vint troet er yezhoù ma’z eus ur restr yezh.', |
|
| 623 | + 'module_texte_traduction' => 'Gallout a reer kaout ar restr yezh « @module@ » e :', |
|
| 624 | + 'mois_non_connu' => 'dianav', |
|
| 625 | 625 | |
| 626 | - // N |
|
| 627 | - 'nouvelle_version_spip' => 'Prest eo an hizivaat @version@ SPIP ', |
|
| 628 | - 'nouvelle_version_spip_majeure' => 'Prest eo ur stumm SPIP @version@', |
|
| 626 | + // N |
|
| 627 | + 'nouvelle_version_spip' => 'Prest eo an hizivaat @version@ SPIP ', |
|
| 628 | + 'nouvelle_version_spip_majeure' => 'Prest eo ur stumm SPIP @version@', |
|
| 629 | 629 | |
| 630 | - // O |
|
| 631 | - 'onglet_contenu' => 'Endalc’had', |
|
| 632 | - 'onglet_declarer_une_autre_base' => 'Disklêriañ un diaz all', |
|
| 633 | - 'onglet_discuter' => 'Flapiñ', |
|
| 634 | - 'onglet_interactivite' => 'Etreobererezh', |
|
| 635 | - 'onglet_proprietes' => 'Perzhioù', |
|
| 636 | - 'onglet_repartition_actuelle' => 'betek-henn', |
|
| 637 | - 'onglet_sous_rubriques' => 'Isrummadoù', |
|
| 630 | + // O |
|
| 631 | + 'onglet_contenu' => 'Endalc’had', |
|
| 632 | + 'onglet_declarer_une_autre_base' => 'Disklêriañ un diaz all', |
|
| 633 | + 'onglet_discuter' => 'Flapiñ', |
|
| 634 | + 'onglet_interactivite' => 'Etreobererezh', |
|
| 635 | + 'onglet_proprietes' => 'Perzhioù', |
|
| 636 | + 'onglet_repartition_actuelle' => 'betek-henn', |
|
| 637 | + 'onglet_sous_rubriques' => 'Isrummadoù', |
|
| 638 | 638 | |
| 639 | - // P |
|
| 640 | - 'page_pas_proxy' => 'Arabat d’ar bajenn-mañ tremen dre ar proksi', |
|
| 641 | - 'pas_de_proxy_pour' => 'Ma vez ezhomm merkit ar mekanikoù pe domanioù na zle ket ar proksi-mañ mont en-dro evito (da skouer : @exemple@)', |
|
| 642 | - 'phpinfo' => 'Kefluniadur PHP', |
|
| 643 | - 'plugin_charge_paquet' => 'Kargañ ar pakad @name@', |
|
| 644 | - 'plugin_charger' => 'Pellgargañ', |
|
| 645 | - 'plugin_erreur_charger' => 'fazi : dibosupl eo kargañ @zip@', |
|
| 646 | - 'plugin_erreur_droit1' => 'N’haller ket skrivañ war ar c’havlec’h <code>@dest@</code>.', |
|
| 647 | - 'plugin_erreur_droit2' => 'Gwiriit an aotreoù war ar c’havlec’h-mañ (ha kempennit anezho diouzh ret), pe stailhit ar restroù dre FTP.', |
|
| 648 | - 'plugin_erreur_zip' => 'fazi pclzip : fazi @status@', |
|
| 649 | - 'plugin_etat_developpement' => 'o tiorren', |
|
| 650 | - 'plugin_etat_experimental' => 'arnodel', |
|
| 651 | - 'plugin_etat_stable' => 'stabil', |
|
| 652 | - 'plugin_etat_test' => 'o vezañ amprouet', |
|
| 653 | - 'plugin_impossible_activer' => 'Dibosupl eo gweredekaat an adveziant @plugin@', |
|
| 654 | - 'plugin_info_automatique1' => 'Mar fell deoc’h aotren staliadur emgefre an adveziantoù, setu penaos :', |
|
| 655 | - 'plugin_info_automatique1_lib' => 'Mard oc’h a-du da zesezañ emgefreek al levraoueg-mañ, teurvezit:', |
|
| 656 | - 'plugin_info_automatique2' => 'krouit ur c’havlec’h <code>@rep@</code> ;', |
|
| 657 | - 'plugin_info_automatique3' => 'Gwiriit eo aotreet-mat ar servijer da skrivañ er c’havlec’h-se.', |
|
| 658 | - 'plugin_info_automatique_creer' => 'da grouiñ e gwrizienn al lec’hienn.', |
|
| 659 | - 'plugin_info_automatique_exemples' => 'da skouer :', |
|
| 660 | - 'plugin_info_automatique_ftp' => 'Gallout a rit staliañ adveziantoù dre FTP er c’havlec’h <tt>@rep@</tt>', |
|
| 661 | - 'plugin_info_automatique_lib' => 'Adveziantoù zo a c’houlenn gellout pellgargañ restroù er c’havlec’h <code>lib/</code>. Da vezañ krouet, diouzh an dro, e gwrizienn al lec’hienn.', |
|
| 662 | - 'plugin_info_automatique_liste' => 'Ho rolloù adveziantoù :', |
|
| 663 | - 'plugin_info_automatique_liste_officielle' => 'An adveziantoù ofisiel', |
|
| 664 | - 'plugin_info_automatique_liste_update' => 'Hizivaat ar rolloù', |
|
| 665 | - 'plugin_info_automatique_ou' => 'pe...', |
|
| 666 | - 'plugin_info_automatique_select' => 'Diuzit un adveziant amañ a-is : pellgarget e vo gant SPIP ha staliet er c’havlec’h <code>@rep@</code> ; ma’z eus eus an adveziant-mañ c’hoazh e vo hizivaet.', |
|
| 667 | - 'plugin_info_credit' => 'Diwar', |
|
| 668 | - 'plugin_info_erreur_xml' => 'Direizh eo disklêriadur an askouez plugin-mañ', |
|
| 669 | - 'plugin_info_install_ok' => 'Desezañ deuet da vat !', |
|
| 670 | - 'plugin_info_necessite' => 'Ret :', |
|
| 671 | - 'plugin_info_non_compatible_spip' => 'Ne glot ket ar plugin-mañ gant an handelv SPIP-mañ', |
|
| 672 | - 'plugin_info_plugins_dist_1' => 'Karget ha gweredek eo an askouezioù-mañ er c’havlec’h @plugins_dist@.', |
|
| 673 | - 'plugin_info_plugins_dist_2' => 'Diweredekaus ez int', |
|
| 674 | - 'plugin_info_telecharger' => 'da bellgargañ adal @url@ ha da staliañ e @rep@', |
|
| 675 | - 'plugin_info_upgrade_ok' => 'Hizivaat bet kaset da benn', |
|
| 676 | - 'plugin_librairies_installees' => 'Levraouegoù bet staliet', |
|
| 677 | - 'plugin_necessite_extension_php' => 'Ezhomm en deus astenn PHP @plugin@ en version @version@.', |
|
| 678 | - 'plugin_necessite_extension_php_sans_version' => 'Ezhomm en deus astenn PHP @plugin@', |
|
| 679 | - 'plugin_necessite_lib' => 'Ezhomm en deus an adveziant-mañ eus al levraoueg @lib@', |
|
| 680 | - 'plugin_necessite_php' => 'Ezhomm en deus @plugin@ en version @version@.', |
|
| 681 | - 'plugin_necessite_plugin' => 'Ezhomm en deus eus an adveziant @plugin@ e stumm @version@.', |
|
| 682 | - 'plugin_necessite_plugin_sans_version' => 'Askouez @plugin@ ret', |
|
| 683 | - 'plugin_necessite_spip' => 'Ezhomm zo eus stumm @version@ SPIP da nebeutañ.', |
|
| 684 | - 'plugin_source' => 'orin: ', |
|
| 685 | - 'plugin_titre_automatique' => 'Staliadur emgefre', |
|
| 686 | - 'plugin_titre_automatique_ajouter' => 'Ouzhpennañ adveziantoù', |
|
| 687 | - 'plugin_titre_installation' => 'Desezañ an askouez @plugin@', |
|
| 688 | - 'plugin_titre_modifier' => 'Va askouezioù plugin', |
|
| 689 | - 'plugin_utilise_extension_php' => 'An astenn PHP @plugin@ rank bezañ e stumm @version@.', |
|
| 690 | - 'plugin_utilise_php' => ' @plugin@ a rank bezañ @version@.', |
|
| 691 | - 'plugin_utilise_plugin' => 'Ar plugin @plugin@ rank bezañ e doare @version@.', |
|
| 692 | - 'plugin_zip_active' => 'Kendalc’hit evit e weredekaat', |
|
| 693 | - 'plugin_zip_adresse' => 'merkit amañ a-is chomlec’h restr zip un adveziant da bellgargañ, pe hini ul rollad adveziantoù.', |
|
| 694 | - 'plugin_zip_adresse_champ' => 'Chomlec’h an adveziant pe hini ar roll ', |
|
| 695 | - 'plugin_zip_content' => 'Ennañ emañ ar restroù (@taille@),<br />prest da vezañ staliet er c’havlec’h <code>@rep@</code>', |
|
| 696 | - 'plugin_zip_installe_finie' => 'Diwasket ha staliet eo bet ar restr @zip@ .', |
|
| 697 | - 'plugin_zip_installe_rep_finie' => 'Diwasket eo bet ar restr @zip@ ha staliet er c’havlec’h @rep@', |
|
| 698 | - 'plugin_zip_installer' => 'Bremañ e c’hellit staliañ anezhañ.', |
|
| 699 | - 'plugin_zip_telecharge' => 'Pellgarget eo bet ar restr @zip@', |
|
| 700 | - 'plugins_actif_aucun' => 'Askouez plugin gweredek ebet', |
|
| 701 | - 'plugins_actif_un' => 'Un askouez plugin gweredek', |
|
| 702 | - 'plugins_actifs' => '@count@ adveziant gweredekaet.', |
|
| 703 | - 'plugins_actifs_liste' => 'Gweredek', |
|
| 704 | - 'plugins_compte' => '@count@ adveziant', |
|
| 705 | - 'plugins_disponible_un' => 'Un askouez plugin prest', |
|
| 706 | - 'plugins_disponibles' => '@count@ adveziant hegerz.', |
|
| 707 | - 'plugins_erreur' => 'Fazi en adveziantoù : @plugins@', |
|
| 708 | - 'plugins_liste' => 'Roll an adveziantoù', |
|
| 709 | - 'plugins_liste_dist' => 'Askouezioù plugin prennet', |
|
| 710 | - 'plugins_recents' => 'Askouezioù Plugin nevez', |
|
| 711 | - 'plugins_tous_liste' => 'Holl', |
|
| 712 | - 'plugins_vue_hierarchie' => 'Urzhaz', |
|
| 713 | - 'plugins_vue_liste' => 'Roll', |
|
| 714 | - 'protocole_ldap' => 'Stumm ar protokol :', |
|
| 639 | + // P |
|
| 640 | + 'page_pas_proxy' => 'Arabat d’ar bajenn-mañ tremen dre ar proksi', |
|
| 641 | + 'pas_de_proxy_pour' => 'Ma vez ezhomm merkit ar mekanikoù pe domanioù na zle ket ar proksi-mañ mont en-dro evito (da skouer : @exemple@)', |
|
| 642 | + 'phpinfo' => 'Kefluniadur PHP', |
|
| 643 | + 'plugin_charge_paquet' => 'Kargañ ar pakad @name@', |
|
| 644 | + 'plugin_charger' => 'Pellgargañ', |
|
| 645 | + 'plugin_erreur_charger' => 'fazi : dibosupl eo kargañ @zip@', |
|
| 646 | + 'plugin_erreur_droit1' => 'N’haller ket skrivañ war ar c’havlec’h <code>@dest@</code>.', |
|
| 647 | + 'plugin_erreur_droit2' => 'Gwiriit an aotreoù war ar c’havlec’h-mañ (ha kempennit anezho diouzh ret), pe stailhit ar restroù dre FTP.', |
|
| 648 | + 'plugin_erreur_zip' => 'fazi pclzip : fazi @status@', |
|
| 649 | + 'plugin_etat_developpement' => 'o tiorren', |
|
| 650 | + 'plugin_etat_experimental' => 'arnodel', |
|
| 651 | + 'plugin_etat_stable' => 'stabil', |
|
| 652 | + 'plugin_etat_test' => 'o vezañ amprouet', |
|
| 653 | + 'plugin_impossible_activer' => 'Dibosupl eo gweredekaat an adveziant @plugin@', |
|
| 654 | + 'plugin_info_automatique1' => 'Mar fell deoc’h aotren staliadur emgefre an adveziantoù, setu penaos :', |
|
| 655 | + 'plugin_info_automatique1_lib' => 'Mard oc’h a-du da zesezañ emgefreek al levraoueg-mañ, teurvezit:', |
|
| 656 | + 'plugin_info_automatique2' => 'krouit ur c’havlec’h <code>@rep@</code> ;', |
|
| 657 | + 'plugin_info_automatique3' => 'Gwiriit eo aotreet-mat ar servijer da skrivañ er c’havlec’h-se.', |
|
| 658 | + 'plugin_info_automatique_creer' => 'da grouiñ e gwrizienn al lec’hienn.', |
|
| 659 | + 'plugin_info_automatique_exemples' => 'da skouer :', |
|
| 660 | + 'plugin_info_automatique_ftp' => 'Gallout a rit staliañ adveziantoù dre FTP er c’havlec’h <tt>@rep@</tt>', |
|
| 661 | + 'plugin_info_automatique_lib' => 'Adveziantoù zo a c’houlenn gellout pellgargañ restroù er c’havlec’h <code>lib/</code>. Da vezañ krouet, diouzh an dro, e gwrizienn al lec’hienn.', |
|
| 662 | + 'plugin_info_automatique_liste' => 'Ho rolloù adveziantoù :', |
|
| 663 | + 'plugin_info_automatique_liste_officielle' => 'An adveziantoù ofisiel', |
|
| 664 | + 'plugin_info_automatique_liste_update' => 'Hizivaat ar rolloù', |
|
| 665 | + 'plugin_info_automatique_ou' => 'pe...', |
|
| 666 | + 'plugin_info_automatique_select' => 'Diuzit un adveziant amañ a-is : pellgarget e vo gant SPIP ha staliet er c’havlec’h <code>@rep@</code> ; ma’z eus eus an adveziant-mañ c’hoazh e vo hizivaet.', |
|
| 667 | + 'plugin_info_credit' => 'Diwar', |
|
| 668 | + 'plugin_info_erreur_xml' => 'Direizh eo disklêriadur an askouez plugin-mañ', |
|
| 669 | + 'plugin_info_install_ok' => 'Desezañ deuet da vat !', |
|
| 670 | + 'plugin_info_necessite' => 'Ret :', |
|
| 671 | + 'plugin_info_non_compatible_spip' => 'Ne glot ket ar plugin-mañ gant an handelv SPIP-mañ', |
|
| 672 | + 'plugin_info_plugins_dist_1' => 'Karget ha gweredek eo an askouezioù-mañ er c’havlec’h @plugins_dist@.', |
|
| 673 | + 'plugin_info_plugins_dist_2' => 'Diweredekaus ez int', |
|
| 674 | + 'plugin_info_telecharger' => 'da bellgargañ adal @url@ ha da staliañ e @rep@', |
|
| 675 | + 'plugin_info_upgrade_ok' => 'Hizivaat bet kaset da benn', |
|
| 676 | + 'plugin_librairies_installees' => 'Levraouegoù bet staliet', |
|
| 677 | + 'plugin_necessite_extension_php' => 'Ezhomm en deus astenn PHP @plugin@ en version @version@.', |
|
| 678 | + 'plugin_necessite_extension_php_sans_version' => 'Ezhomm en deus astenn PHP @plugin@', |
|
| 679 | + 'plugin_necessite_lib' => 'Ezhomm en deus an adveziant-mañ eus al levraoueg @lib@', |
|
| 680 | + 'plugin_necessite_php' => 'Ezhomm en deus @plugin@ en version @version@.', |
|
| 681 | + 'plugin_necessite_plugin' => 'Ezhomm en deus eus an adveziant @plugin@ e stumm @version@.', |
|
| 682 | + 'plugin_necessite_plugin_sans_version' => 'Askouez @plugin@ ret', |
|
| 683 | + 'plugin_necessite_spip' => 'Ezhomm zo eus stumm @version@ SPIP da nebeutañ.', |
|
| 684 | + 'plugin_source' => 'orin: ', |
|
| 685 | + 'plugin_titre_automatique' => 'Staliadur emgefre', |
|
| 686 | + 'plugin_titre_automatique_ajouter' => 'Ouzhpennañ adveziantoù', |
|
| 687 | + 'plugin_titre_installation' => 'Desezañ an askouez @plugin@', |
|
| 688 | + 'plugin_titre_modifier' => 'Va askouezioù plugin', |
|
| 689 | + 'plugin_utilise_extension_php' => 'An astenn PHP @plugin@ rank bezañ e stumm @version@.', |
|
| 690 | + 'plugin_utilise_php' => ' @plugin@ a rank bezañ @version@.', |
|
| 691 | + 'plugin_utilise_plugin' => 'Ar plugin @plugin@ rank bezañ e doare @version@.', |
|
| 692 | + 'plugin_zip_active' => 'Kendalc’hit evit e weredekaat', |
|
| 693 | + 'plugin_zip_adresse' => 'merkit amañ a-is chomlec’h restr zip un adveziant da bellgargañ, pe hini ul rollad adveziantoù.', |
|
| 694 | + 'plugin_zip_adresse_champ' => 'Chomlec’h an adveziant pe hini ar roll ', |
|
| 695 | + 'plugin_zip_content' => 'Ennañ emañ ar restroù (@taille@),<br />prest da vezañ staliet er c’havlec’h <code>@rep@</code>', |
|
| 696 | + 'plugin_zip_installe_finie' => 'Diwasket ha staliet eo bet ar restr @zip@ .', |
|
| 697 | + 'plugin_zip_installe_rep_finie' => 'Diwasket eo bet ar restr @zip@ ha staliet er c’havlec’h @rep@', |
|
| 698 | + 'plugin_zip_installer' => 'Bremañ e c’hellit staliañ anezhañ.', |
|
| 699 | + 'plugin_zip_telecharge' => 'Pellgarget eo bet ar restr @zip@', |
|
| 700 | + 'plugins_actif_aucun' => 'Askouez plugin gweredek ebet', |
|
| 701 | + 'plugins_actif_un' => 'Un askouez plugin gweredek', |
|
| 702 | + 'plugins_actifs' => '@count@ adveziant gweredekaet.', |
|
| 703 | + 'plugins_actifs_liste' => 'Gweredek', |
|
| 704 | + 'plugins_compte' => '@count@ adveziant', |
|
| 705 | + 'plugins_disponible_un' => 'Un askouez plugin prest', |
|
| 706 | + 'plugins_disponibles' => '@count@ adveziant hegerz.', |
|
| 707 | + 'plugins_erreur' => 'Fazi en adveziantoù : @plugins@', |
|
| 708 | + 'plugins_liste' => 'Roll an adveziantoù', |
|
| 709 | + 'plugins_liste_dist' => 'Askouezioù plugin prennet', |
|
| 710 | + 'plugins_recents' => 'Askouezioù Plugin nevez', |
|
| 711 | + 'plugins_tous_liste' => 'Holl', |
|
| 712 | + 'plugins_vue_hierarchie' => 'Urzhaz', |
|
| 713 | + 'plugins_vue_liste' => 'Roll', |
|
| 714 | + 'protocole_ldap' => 'Stumm ar protokol :', |
|
| 715 | 715 | |
| 716 | - // Q |
|
| 717 | - 'queue_executer_maintenant' => 'Seveniñ bremañ', |
|
| 718 | - 'queue_info_purger' => 'Bez e c’hallit lemel an holl labourioù o c’hortoz, ha nevesaat roll al labourioù mareadek', |
|
| 719 | - 'queue_nb_jobs_in_queue' => '@nb@ labourioù o c’hortoz', |
|
| 720 | - 'queue_next_job_in_nb_sec' => 'Labour-all a-benn @nb@ eilenn', |
|
| 721 | - 'queue_no_job_in_queue' => 'Labour ebet o chom a-ispilh', |
|
| 722 | - 'queue_one_job_in_queue' => '1 labour o chom a-ispilh', |
|
| 723 | - 'queue_priorite_tache' => 'prioriezh', |
|
| 724 | - 'queue_purger_queue' => 'Nevesaat roll al labourioù', |
|
| 725 | - 'queue_titre' => 'Roll al labourioù en-adreñv', |
|
| 716 | + // Q |
|
| 717 | + 'queue_executer_maintenant' => 'Seveniñ bremañ', |
|
| 718 | + 'queue_info_purger' => 'Bez e c’hallit lemel an holl labourioù o c’hortoz, ha nevesaat roll al labourioù mareadek', |
|
| 719 | + 'queue_nb_jobs_in_queue' => '@nb@ labourioù o c’hortoz', |
|
| 720 | + 'queue_next_job_in_nb_sec' => 'Labour-all a-benn @nb@ eilenn', |
|
| 721 | + 'queue_no_job_in_queue' => 'Labour ebet o chom a-ispilh', |
|
| 722 | + 'queue_one_job_in_queue' => '1 labour o chom a-ispilh', |
|
| 723 | + 'queue_priorite_tache' => 'prioriezh', |
|
| 724 | + 'queue_purger_queue' => 'Nevesaat roll al labourioù', |
|
| 725 | + 'queue_titre' => 'Roll al labourioù en-adreñv', |
|
| 726 | 726 | |
| 727 | - // R |
|
| 728 | - 'repertoire_plugins' => 'Kavlec’h :', |
|
| 729 | - 'required' => '[Rekis]', |
|
| 727 | + // R |
|
| 728 | + 'repertoire_plugins' => 'Kavlec’h :', |
|
| 729 | + 'required' => '[Rekis]', |
|
| 730 | 730 | |
| 731 | - // S |
|
| 732 | - 'sans_heure' => 'hep eur', |
|
| 733 | - 'statut_admin_restreint' => 'merour strishaet', |
|
| 734 | - 'statut_webmestre' => 'mestr-gwiad', |
|
| 731 | + // S |
|
| 732 | + 'sans_heure' => 'hep eur', |
|
| 733 | + 'statut_admin_restreint' => 'merour strishaet', |
|
| 734 | + 'statut_webmestre' => 'mestr-gwiad', |
|
| 735 | 735 | |
| 736 | - // T |
|
| 737 | - 'tache_cron_asap' => 'Lodenn labour CRON @function@ (ASAP)', |
|
| 738 | - 'tache_cron_secondes' => 'Lodenn labour CRON @function@ (bep @nb@ eilenn)', |
|
| 739 | - 'taille_cache_image' => '@taille@ eo hollad ar skeudennoù jedet gant ent emgefre gant SPIP (skeudennigoù an teulioù, an titloù kinniget dindan ur stumm grafek, ar fonksionoù jedoniezh er stumm TeX...) hag a zo er c’havlec’h @dir@.', |
|
| 740 | - 'taille_cache_infinie' => 'N’eo ket bevennet ment kavlec’h ar grubuilh war al lec’hienn-mañ.', |
|
| 741 | - 'taille_cache_maxi' => 'Klask a ra SPIP bevenniñ ment kavlec’h krubuilh al lec’hienn-mañ e-tro <b>@octets@</b> a roadennoù.', |
|
| 742 | - 'taille_cache_moins_de' => 'Ment ar c’huzh@octets@.', |
|
| 743 | - 'taille_cache_octets' => '@octets@ eo ment ar grubuilh evit ar mare.', |
|
| 744 | - 'taille_cache_vide' => 'Goullo eo ar grubuilh', |
|
| 745 | - 'taille_repertoire_cache' => 'Ment kavlec’h ar grubuilh', |
|
| 746 | - 'text_article_propose_publication' => 'Pennad kinniget evit an embann.', |
|
| 747 | - 'texte_acces_ldap_anonyme_1' => 'Servijerioù LDAP zo ne aotreont ket ar monedoù dizanv. En degouezh-se e vo ret deoc’h merkañ un anv moned a-raok gallout klask titouroù er rollad. Peurliesañ e c’hallot lezel goullo ar maeziennoù-se koulskoude.', |
|
| 748 | - 'texte_admin_effacer_01' => 'Diverkañ a raio an urzhad-se <i>PEP TRA</i> en ho tiaz titouroù, |
|
| 736 | + // T |
|
| 737 | + 'tache_cron_asap' => 'Lodenn labour CRON @function@ (ASAP)', |
|
| 738 | + 'tache_cron_secondes' => 'Lodenn labour CRON @function@ (bep @nb@ eilenn)', |
|
| 739 | + 'taille_cache_image' => '@taille@ eo hollad ar skeudennoù jedet gant ent emgefre gant SPIP (skeudennigoù an teulioù, an titloù kinniget dindan ur stumm grafek, ar fonksionoù jedoniezh er stumm TeX...) hag a zo er c’havlec’h @dir@.', |
|
| 740 | + 'taille_cache_infinie' => 'N’eo ket bevennet ment kavlec’h ar grubuilh war al lec’hienn-mañ.', |
|
| 741 | + 'taille_cache_maxi' => 'Klask a ra SPIP bevenniñ ment kavlec’h krubuilh al lec’hienn-mañ e-tro <b>@octets@</b> a roadennoù.', |
|
| 742 | + 'taille_cache_moins_de' => 'Ment ar c’huzh@octets@.', |
|
| 743 | + 'taille_cache_octets' => '@octets@ eo ment ar grubuilh evit ar mare.', |
|
| 744 | + 'taille_cache_vide' => 'Goullo eo ar grubuilh', |
|
| 745 | + 'taille_repertoire_cache' => 'Ment kavlec’h ar grubuilh', |
|
| 746 | + 'text_article_propose_publication' => 'Pennad kinniget evit an embann.', |
|
| 747 | + 'texte_acces_ldap_anonyme_1' => 'Servijerioù LDAP zo ne aotreont ket ar monedoù dizanv. En degouezh-se e vo ret deoc’h merkañ un anv moned a-raok gallout klask titouroù er rollad. Peurliesañ e c’hallot lezel goullo ar maeziennoù-se koulskoude.', |
|
| 748 | + 'texte_admin_effacer_01' => 'Diverkañ a raio an urzhad-se <i>PEP TRA</i> en ho tiaz titouroù, |
|
| 749 | 749 | da lavaret eo <i>holl</i> aotreoù ar verourien hag ar skridaozerien. Goude bezañ bet graet se e rankot |
| 750 | 750 | adstaliañ SPIP hag adkrouiñ un diaz titouroù nevez hag ur moned merour kentañ nevez.', |
| 751 | - 'texte_adresse_annuaire_1' => '(M’eo staliet ar roll tud war an hevelep mekanik hag al lec’hienn-mañ, e tle bezañ «localhost».)', |
|
| 752 | - 'texte_ajout_auteur' => 'Ouzhpennet eo bet ar skridaozer-mañ d’ar pennad :', |
|
| 753 | - 'texte_annuaire_ldap_1' => 'M’hoc’h eus tro d’ober gant ur roll tud (LDAP) e c’hellit e implijout evit enporzhiañ implijerien war SPIP ent emgefre.', |
|
| 754 | - 'texte_article_statut' => 'Ar pennad-mañ zo :', |
|
| 755 | - 'texte_article_virtuel' => 'Pennad galloudel', |
|
| 756 | - 'texte_article_virtuel_reference' => '<b>pennad galloudel :</b> pennad menegeret en ho lec’hienn SPIP, met adkaset war-du un URL all. Evit paouez gant an adkas, diverkañ an URL a-us.', |
|
| 757 | - 'texte_aucun_resultat_auteur' => 'Disoc’h ebet evit "@cherche_auteur@"', |
|
| 758 | - 'texte_auteur_messagerie' => 'Gallout a ra al lec’hienn-mañ diskouez deoc’h roll ar skridaozerien kevreet a-hed an amzer, ar pezh a aotren ac’hanoc’h da eskemm ganto war ar prim. Gallout a rit dibab chom hep dont war wel war ar roll-mañ (« diwelus » oc’h neuze evit an implijerien all).', |
|
| 759 | - 'texte_auteurs' => 'AR SKRIDAOZERIEN', |
|
| 760 | - 'texte_choix_base_1' => 'Dibabit ho tiaz :', |
|
| 761 | - 'texte_choix_base_2' => 'Er servijer SQL ez eus meur a ziaz titouroù.', |
|
| 762 | - 'texte_choix_base_3' => '<b>Diuzit</b> amañ dindan an hini zo bet lakaet deoc’h gant an herberc’hier :', |
|
| 763 | - 'texte_choix_table_prefix' => 'Rakger an taolennoù :', |
|
| 764 | - 'texte_compte_element' => '@count@ elfenn', |
|
| 765 | - 'texte_compte_elements' => '@count@ elfenn', |
|
| 766 | - 'texte_conflit_edition_correction' => 'Gwiriit amañ dindan an diforc’hioù etre daou stumm an destenn. Gallout a rit ivez eilañ ho kemmoù, hag adkregiñ.', |
|
| 767 | - 'texte_connexion_mysql' => 'Sellit ouzh an titouroù roet gant an herberc’hier : Enno e tlefec’h kavout ar servijer diazoù titouroù a vez kinniget gantañ hag ar c’hodoù kevreañ personel.', |
|
| 768 | - 'texte_contenu_article' => '(Kinnig ar pennad berr-ha-berr.)', |
|
| 769 | - 'texte_contenu_articles' => 'Hevez ar vaketenn dibabet evit sevel ho lec’hienn e c’hellit divizout |
|
| 751 | + 'texte_adresse_annuaire_1' => '(M’eo staliet ar roll tud war an hevelep mekanik hag al lec’hienn-mañ, e tle bezañ «localhost».)', |
|
| 752 | + 'texte_ajout_auteur' => 'Ouzhpennet eo bet ar skridaozer-mañ d’ar pennad :', |
|
| 753 | + 'texte_annuaire_ldap_1' => 'M’hoc’h eus tro d’ober gant ur roll tud (LDAP) e c’hellit e implijout evit enporzhiañ implijerien war SPIP ent emgefre.', |
|
| 754 | + 'texte_article_statut' => 'Ar pennad-mañ zo :', |
|
| 755 | + 'texte_article_virtuel' => 'Pennad galloudel', |
|
| 756 | + 'texte_article_virtuel_reference' => '<b>pennad galloudel :</b> pennad menegeret en ho lec’hienn SPIP, met adkaset war-du un URL all. Evit paouez gant an adkas, diverkañ an URL a-us.', |
|
| 757 | + 'texte_aucun_resultat_auteur' => 'Disoc’h ebet evit "@cherche_auteur@"', |
|
| 758 | + 'texte_auteur_messagerie' => 'Gallout a ra al lec’hienn-mañ diskouez deoc’h roll ar skridaozerien kevreet a-hed an amzer, ar pezh a aotren ac’hanoc’h da eskemm ganto war ar prim. Gallout a rit dibab chom hep dont war wel war ar roll-mañ (« diwelus » oc’h neuze evit an implijerien all).', |
|
| 759 | + 'texte_auteurs' => 'AR SKRIDAOZERIEN', |
|
| 760 | + 'texte_choix_base_1' => 'Dibabit ho tiaz :', |
|
| 761 | + 'texte_choix_base_2' => 'Er servijer SQL ez eus meur a ziaz titouroù.', |
|
| 762 | + 'texte_choix_base_3' => '<b>Diuzit</b> amañ dindan an hini zo bet lakaet deoc’h gant an herberc’hier :', |
|
| 763 | + 'texte_choix_table_prefix' => 'Rakger an taolennoù :', |
|
| 764 | + 'texte_compte_element' => '@count@ elfenn', |
|
| 765 | + 'texte_compte_elements' => '@count@ elfenn', |
|
| 766 | + 'texte_conflit_edition_correction' => 'Gwiriit amañ dindan an diforc’hioù etre daou stumm an destenn. Gallout a rit ivez eilañ ho kemmoù, hag adkregiñ.', |
|
| 767 | + 'texte_connexion_mysql' => 'Sellit ouzh an titouroù roet gant an herberc’hier : Enno e tlefec’h kavout ar servijer diazoù titouroù a vez kinniget gantañ hag ar c’hodoù kevreañ personel.', |
|
| 768 | + 'texte_contenu_article' => '(Kinnig ar pennad berr-ha-berr.)', |
|
| 769 | + 'texte_contenu_articles' => 'Hevez ar vaketenn dibabet evit sevel ho lec’hienn e c’hellit divizout |
|
| 770 | 770 | ne vo ket implijet elfennoù zo er pennadoù. |
| 771 | 771 | Implijit al listenn amañ dindan evit merkañ pere eo an elfennoù a c’heller ober ganto.', |
| 772 | - 'texte_crash_base' => 'Ma’z eo sac’het ho tiaz titouroù e c’hellit klask ratreañ en un doare emgefreek.', |
|
| 773 | - 'texte_creer_rubrique' => 'A-raok gallout skrivañ pennadoù<br /> e rankit krouiñ ur rubrikenn.', |
|
| 774 | - 'texte_date_creation_article' => 'DEIZIAD KROUIÑ AR PENNAD :', |
|
| 775 | - 'texte_date_creation_objet' => 'Deiziad krouiñ :', # on ajoute le ":" |
|
| 776 | - 'texte_date_publication_anterieure' => 'DEIZIAD EMBANN KENT :', |
|
| 777 | - 'texte_date_publication_anterieure_nonaffichee' => 'Na ziskouez an deiziad embann kent.', |
|
| 778 | - 'texte_date_publication_article' => 'DEIZIAD EMBANN ENLINENN :', |
|
| 779 | - 'texte_date_publication_objet' => 'Deiziad embann enlinenn :', |
|
| 780 | - 'texte_definir_comme_traduction_rubrique' => 'Ur droidigezh eo ar rubrikenn-mañ deus ar rubrikenn niverenn :', |
|
| 781 | - 'texte_descriptif_rapide' => 'Berr-ha-berr', |
|
| 782 | - 'texte_effacer_base' => 'Diverkañ diaz titouroù SPIP', |
|
| 783 | - 'texte_effacer_statistiques' => 'Diverkañ ar stadegoù', |
|
| 784 | - 'texte_en_cours_validation' => 'Kinniget eo ar pennadoù ha berrskridoù amañ dindan d’an embann.', |
|
| 785 | - 'texte_enrichir_mise_a_jour' => 'Gallout a rit bravaat pajennaozañ ho testenn en ur implijout « berradennoù tipografek ».', |
|
| 786 | - 'texte_fichier_authent' => '<b>Ha rankout a ra SPIP krouiñ ar restroù dibar <tt>.htpasswd</tt> |
|
| 772 | + 'texte_crash_base' => 'Ma’z eo sac’het ho tiaz titouroù e c’hellit klask ratreañ en un doare emgefreek.', |
|
| 773 | + 'texte_creer_rubrique' => 'A-raok gallout skrivañ pennadoù<br /> e rankit krouiñ ur rubrikenn.', |
|
| 774 | + 'texte_date_creation_article' => 'DEIZIAD KROUIÑ AR PENNAD :', |
|
| 775 | + 'texte_date_creation_objet' => 'Deiziad krouiñ :', # on ajoute le ":" |
|
| 776 | + 'texte_date_publication_anterieure' => 'DEIZIAD EMBANN KENT :', |
|
| 777 | + 'texte_date_publication_anterieure_nonaffichee' => 'Na ziskouez an deiziad embann kent.', |
|
| 778 | + 'texte_date_publication_article' => 'DEIZIAD EMBANN ENLINENN :', |
|
| 779 | + 'texte_date_publication_objet' => 'Deiziad embann enlinenn :', |
|
| 780 | + 'texte_definir_comme_traduction_rubrique' => 'Ur droidigezh eo ar rubrikenn-mañ deus ar rubrikenn niverenn :', |
|
| 781 | + 'texte_descriptif_rapide' => 'Berr-ha-berr', |
|
| 782 | + 'texte_effacer_base' => 'Diverkañ diaz titouroù SPIP', |
|
| 783 | + 'texte_effacer_statistiques' => 'Diverkañ ar stadegoù', |
|
| 784 | + 'texte_en_cours_validation' => 'Kinniget eo ar pennadoù ha berrskridoù amañ dindan d’an embann.', |
|
| 785 | + 'texte_enrichir_mise_a_jour' => 'Gallout a rit bravaat pajennaozañ ho testenn en ur implijout « berradennoù tipografek ».', |
|
| 786 | + 'texte_fichier_authent' => '<b>Ha rankout a ra SPIP krouiñ ar restroù dibar <tt>.htpasswd</tt> |
|
| 787 | 787 | ha <tt>.htpasswd-admin</tt> er c’havlec’h @dossier@ ?</b><p> |
| 788 | 788 | Gant ar restroù-se e c’hallit herzel ouzh ar re n’int ket skridaozer pe merour da vont war bajenoù all zo |
| 789 | 789 | (programm stadegoù diavaez, da skouer).</p><p> |
| 790 | 790 | Ma n’hoc’h eus ket ezhomm d’hen ober e c’hellit lezel an traoù evel m’emaint lakaet dre-ziouer |
| 791 | 791 | (ne vo ket krouet ar restroù).</p>', |
| 792 | - 'texte_informations_personnelles_1' => 'Bremañ e vo krouet gant ar reizhiad ur moned personel d’al lec’hienn evidoc’h.', |
|
| 793 | - 'texte_informations_personnelles_2' => '(Notenn : m’emaoc’h oc’h adstaliañ SPIP hag ez a c’hoazh ho moned kozh en-dro e c’hallit ', |
|
| 794 | - 'texte_introductif_article' => '(Testenn digeriñ ar pennad)', |
|
| 795 | - 'texte_jeu_caractere' => 'Gant al lizherenneg hollvedel (<tt>utf-8</tt>) oc’h aliet d’ober : aotren a ra diskwel testennoù en holl yezhoù, ha ne sav kudenn kenglotañ ebet ken gant ar merdeerioù a-vremañ.', |
|
| 796 | - 'texte_jeu_caractere_3' => 'Gant ar strobad arouezennoù-mañ e ra ho lec’hienn :', |
|
| 797 | - 'texte_jeu_caractere_4' => 'Ma ne glot ket gant gwirvoud ho roadennoù (da skouer, m’emaoc’h o paouez assevel un diaz titouroù), pe ma <em>loc’hit gant al lec’hienn-mañ</em> hag hoc’h eus c’hoant d’ober gant ur strobad arouezennoù all, resisait se amañ dindan :', |
|
| 798 | - 'texte_login_ldap_1' => '(Na skrivit netra evit ur moned dizanv, pe skrivit an hent klok, da skouer « <tt>uid=anv, ou=users, dc=ma-zomani, dc=com</tt> ».)', |
|
| 799 | - 'texte_login_precaution' => 'Diwallit ! Setu ar c’hod kevreañ a dalvez deoc’h da gevreañ evit ar mare. |
|
| 792 | + 'texte_informations_personnelles_1' => 'Bremañ e vo krouet gant ar reizhiad ur moned personel d’al lec’hienn evidoc’h.', |
|
| 793 | + 'texte_informations_personnelles_2' => '(Notenn : m’emaoc’h oc’h adstaliañ SPIP hag ez a c’hoazh ho moned kozh en-dro e c’hallit ', |
|
| 794 | + 'texte_introductif_article' => '(Testenn digeriñ ar pennad)', |
|
| 795 | + 'texte_jeu_caractere' => 'Gant al lizherenneg hollvedel (<tt>utf-8</tt>) oc’h aliet d’ober : aotren a ra diskwel testennoù en holl yezhoù, ha ne sav kudenn kenglotañ ebet ken gant ar merdeerioù a-vremañ.', |
|
| 796 | + 'texte_jeu_caractere_3' => 'Gant ar strobad arouezennoù-mañ e ra ho lec’hienn :', |
|
| 797 | + 'texte_jeu_caractere_4' => 'Ma ne glot ket gant gwirvoud ho roadennoù (da skouer, m’emaoc’h o paouez assevel un diaz titouroù), pe ma <em>loc’hit gant al lec’hienn-mañ</em> hag hoc’h eus c’hoant d’ober gant ur strobad arouezennoù all, resisait se amañ dindan :', |
|
| 798 | + 'texte_login_ldap_1' => '(Na skrivit netra evit ur moned dizanv, pe skrivit an hent klok, da skouer « <tt>uid=anv, ou=users, dc=ma-zomani, dc=com</tt> ».)', |
|
| 799 | + 'texte_login_precaution' => 'Diwallit ! Setu ar c’hod kevreañ a dalvez deoc’h da gevreañ evit ar mare. |
|
| 800 | 800 | Taolit evezh gant ar furmskrid-mañ...', |
| 801 | - 'texte_messagerie_agenda' => 'Gant ur postelerezh e c’hell ar skridaozerien eskemm an eil gant egile dre lodenn brevez al lec’hienn. Un deiziataer zo stag outañ.', |
|
| 802 | - 'texte_mise_a_niveau_base_1' => 'O paouez hizivaat restroù SPIP emaoc’h. Bremañ eo dav ober kemend-all evit an diaz titouroù.', |
|
| 803 | - 'texte_modifier_article' => 'Kemmañ ar pennad :', |
|
| 804 | - 'texte_multilinguisme' => 'Mar fell deoc’h merañ pennadoù e meur a yezh, dre un doare merdeiñ kemplezh, e c’hallit ouzhpennañ ul lañser dibab yezhoù war ar pennadoù ha/pe war ar rubrikennoù, hervez ar mod m’eo aozet ho load internet.', |
|
| 805 | - 'texte_multilinguisme_trad' => 'Gallout a rit gweredekaat ur reizhiad merañ liammoù etre troidigezhioù disheñvel ar pennadoù ivez.', |
|
| 806 | - 'texte_non_compresse' => '<i>ket gwasket</i> (ne vez ket skoret an arc’hwel-se gant ho servijer)', |
|
| 807 | - 'texte_nouvelle_version_spip_1' => 'Ur stumm nevez eus SPIP zo bet staliet ganeoc’h.', |
|
| 808 | - 'texte_nouvelle_version_spip_2' => 'Evit peurstaliañ anezhañ ez eus ezhomm un hizivadenn glokoc’h eget boaz. Ma’z oc’h webmestr al lec’hienn, diverkit ar restr @connect@ hag adkrogit gant ar staliadur a-benn hizivaat an arventennoù kevreañ ouzh an diaz titouroù.<p> (NM. M’hoc’h eus ankouaet ho titouroù kevreañ , taolit ur sell ouzh ar restr @connect@ a-raok he diverkañ...)</p>', |
|
| 809 | - 'texte_operation_echec' => 'Distroit d’ar bajenn kent, diuzit un diaz all, pe krouit unan nevez. Gwiriit an titouroù bet roet deoc’h gant an herberc’hier.', |
|
| 810 | - 'texte_plus_trois_car' => 'ouzhpenn 3 arouezenn', |
|
| 811 | - 'texte_plusieurs_articles' => 'Meur a skridaozer bet kavet evit "@cherche_auteur@":', |
|
| 812 | - 'texte_port_annuaire' => '(Peurliesañ e tegouezh an talvoud roet dre ziouer.)', |
|
| 813 | - 'texte_presente_plugin' => 'War ar bajenn-mañ emañ rollet an adveziantoù hegerz evit al lec’hienn-mañ. Gallout a rit gweredekaat an adveziantoù a fell deoc’h, en ur askañ al log a zere', |
|
| 814 | - 'texte_proposer_publication' => 'Ur wech echu ho pennad <br /> e c’hellit kinnig ma vo embannet.', |
|
| 815 | - 'texte_proxy' => 'E degouezhioù zo (enrouedad, rouedadoù gwarezet,...), n’hallo al lec’hiennoù pell (teuliad skoazell SPIP, lec’hiennoù sindikadet, ...) bezañ tizhet nemet dre ur <i>proksi HTTP</i>. Diouzh ma vez, skrivit amañ dindan ar chomlec’h anezhañ, er stumm @proxy_en_cours@. Peurliesañ ne vo skrivet netra amañ.', |
|
| 816 | - 'texte_publication_articles_post_dates' => 'Peseurt emzalc’h a zle SPIP kaout gant ar pennadoù zo bet lakaet dezho un deiziad embann en amzer da zont ?', |
|
| 817 | - 'texte_rappel_selection_champs' => '[N’ankouait ket diuzañ mat ar vaezienn-mañ.]', |
|
| 818 | - 'texte_recalcul_page' => 'Mar fell deoc’h adjediñ ur bajenn hepken, tremenit kentoc’h dre al lodenn foran hag implijit an nozelenn « adjediñ ».', |
|
| 819 | - 'texte_recuperer_base' => 'Ratreañ an diaz titouroù', |
|
| 820 | - 'texte_reference_mais_redirige' => 'pennad menegeret en ho lec’hienn SPIP, met adkaset davet un URL all.', |
|
| 821 | - 'texte_requetes_echouent' => '<b>Pa chom sac’het ingal pe hep abeg rekedoù SQL, |
|
| 801 | + 'texte_messagerie_agenda' => 'Gant ur postelerezh e c’hell ar skridaozerien eskemm an eil gant egile dre lodenn brevez al lec’hienn. Un deiziataer zo stag outañ.', |
|
| 802 | + 'texte_mise_a_niveau_base_1' => 'O paouez hizivaat restroù SPIP emaoc’h. Bremañ eo dav ober kemend-all evit an diaz titouroù.', |
|
| 803 | + 'texte_modifier_article' => 'Kemmañ ar pennad :', |
|
| 804 | + 'texte_multilinguisme' => 'Mar fell deoc’h merañ pennadoù e meur a yezh, dre un doare merdeiñ kemplezh, e c’hallit ouzhpennañ ul lañser dibab yezhoù war ar pennadoù ha/pe war ar rubrikennoù, hervez ar mod m’eo aozet ho load internet.', |
|
| 805 | + 'texte_multilinguisme_trad' => 'Gallout a rit gweredekaat ur reizhiad merañ liammoù etre troidigezhioù disheñvel ar pennadoù ivez.', |
|
| 806 | + 'texte_non_compresse' => '<i>ket gwasket</i> (ne vez ket skoret an arc’hwel-se gant ho servijer)', |
|
| 807 | + 'texte_nouvelle_version_spip_1' => 'Ur stumm nevez eus SPIP zo bet staliet ganeoc’h.', |
|
| 808 | + 'texte_nouvelle_version_spip_2' => 'Evit peurstaliañ anezhañ ez eus ezhomm un hizivadenn glokoc’h eget boaz. Ma’z oc’h webmestr al lec’hienn, diverkit ar restr @connect@ hag adkrogit gant ar staliadur a-benn hizivaat an arventennoù kevreañ ouzh an diaz titouroù.<p> (NM. M’hoc’h eus ankouaet ho titouroù kevreañ , taolit ur sell ouzh ar restr @connect@ a-raok he diverkañ...)</p>', |
|
| 809 | + 'texte_operation_echec' => 'Distroit d’ar bajenn kent, diuzit un diaz all, pe krouit unan nevez. Gwiriit an titouroù bet roet deoc’h gant an herberc’hier.', |
|
| 810 | + 'texte_plus_trois_car' => 'ouzhpenn 3 arouezenn', |
|
| 811 | + 'texte_plusieurs_articles' => 'Meur a skridaozer bet kavet evit "@cherche_auteur@":', |
|
| 812 | + 'texte_port_annuaire' => '(Peurliesañ e tegouezh an talvoud roet dre ziouer.)', |
|
| 813 | + 'texte_presente_plugin' => 'War ar bajenn-mañ emañ rollet an adveziantoù hegerz evit al lec’hienn-mañ. Gallout a rit gweredekaat an adveziantoù a fell deoc’h, en ur askañ al log a zere', |
|
| 814 | + 'texte_proposer_publication' => 'Ur wech echu ho pennad <br /> e c’hellit kinnig ma vo embannet.', |
|
| 815 | + 'texte_proxy' => 'E degouezhioù zo (enrouedad, rouedadoù gwarezet,...), n’hallo al lec’hiennoù pell (teuliad skoazell SPIP, lec’hiennoù sindikadet, ...) bezañ tizhet nemet dre ur <i>proksi HTTP</i>. Diouzh ma vez, skrivit amañ dindan ar chomlec’h anezhañ, er stumm @proxy_en_cours@. Peurliesañ ne vo skrivet netra amañ.', |
|
| 816 | + 'texte_publication_articles_post_dates' => 'Peseurt emzalc’h a zle SPIP kaout gant ar pennadoù zo bet lakaet dezho un deiziad embann en amzer da zont ?', |
|
| 817 | + 'texte_rappel_selection_champs' => '[N’ankouait ket diuzañ mat ar vaezienn-mañ.]', |
|
| 818 | + 'texte_recalcul_page' => 'Mar fell deoc’h adjediñ ur bajenn hepken, tremenit kentoc’h dre al lodenn foran hag implijit an nozelenn « adjediñ ».', |
|
| 819 | + 'texte_recuperer_base' => 'Ratreañ an diaz titouroù', |
|
| 820 | + 'texte_reference_mais_redirige' => 'pennad menegeret en ho lec’hienn SPIP, met adkaset davet un URL all.', |
|
| 821 | + 'texte_requetes_echouent' => '<b>Pa chom sac’het ingal pe hep abeg rekedoù SQL, |
|
| 822 | 822 | e c’hell bezañ abalamour d’an diaz titouroù</b><p> |
| 823 | 823 | Gant SQL e c’hell an taolennnoù en em gempenn o-unan p’int bet nodet dre zegouezh. |
| 824 | 824 | Amañ e c’hallit klask adgempenn anezho. Ma c’hwit, mirit un eilenn eus an doare diskwel, e ken kaz ma vefe titouroù talvoudus ennañ.</p><p> |
| 825 | 825 | Kit e darempred gant an herberc’hier ma c’hoarvez ar gudenn adarre.</p>', |
| 826 | - 'texte_selection_langue_principale' => 'Amañ dindan e c’hellit diuzañ « yezh pennañ » al lec’hienn. Ne dalvez ket e viot rediet da skrivañ ho pennadoù er yezh-se, met servijout a ra da resisaat : |
|
| 826 | + 'texte_selection_langue_principale' => 'Amañ dindan e c’hellit diuzañ « yezh pennañ » al lec’hienn. Ne dalvez ket e viot rediet da skrivañ ho pennadoù er yezh-se, met servijout a ra da resisaat : |
|
| 827 | 827 | <ul><li> ar furmad dre ziouer da ziskouez an deiziadoù war al lec’hienn foran ;</li> |
| 828 | 828 | <li> peseurt lusker skrivañ a rank bezañ implijet gant SPIP evit diskouez an testennoù ;</li> |
| 829 | 829 | <li> ar yezh implijet e furmskridoù al lodenn foran ;</li> |
| 830 | 830 | <li> ar yezh implijet dre ziouer el lodenn brevez.</li></ul>', |
| 831 | - 'texte_sous_titre' => 'Istitl', |
|
| 832 | - 'texte_statistiques_visites' => '(barrennoù teñval : Sul / krommenn deñval : emdroadur ar geidenn)', |
|
| 833 | - 'texte_statut_attente_validation' => 'o c’hortoz bezañ asantet', |
|
| 834 | - 'texte_statut_publies' => 'embannet enlinenn', |
|
| 835 | - 'texte_statut_refuses' => 'nac’het', |
|
| 836 | - 'texte_suppression_fichiers' => 'Implijit an urzhiad-se evit diverkañ an holl restroù krubuilhet e SPIP. An dra-se a c’hell servijout evit ma vo adjedet ho holl pajennoù, dre heg, m’hoc’h eus graet kemmoù bras e neuz pe e framm al lec’hienn.', |
|
| 837 | - 'texte_sur_titre' => 'Ustitl', |
|
| 838 | - 'texte_table_ok' => ': kudenn ebet gant an daolenn-mañ.', |
|
| 839 | - 'texte_tentative_recuperation' => 'Taol-esa evit ratreañ', |
|
| 840 | - 'texte_tenter_reparation' => 'Klask ratreañ an diaz roadennoù', |
|
| 841 | - 'texte_test_proxy' => 'Evit amprouiñ ar proksi-mañ, skrivit amañ dindan chomlec’h al lec’hienn a fell deoc’h arnodiñ.', |
|
| 842 | - 'texte_titre_02' => 'Titl :', |
|
| 843 | - 'texte_titre_obligatoire' => '<b>Titl</b> [Rekis]', |
|
| 844 | - 'texte_travail_article' => '@nom_auteur_modif@ en deus labouret war ar pennad-mañ @date_diff@ munutenn zo', |
|
| 845 | - 'texte_travail_collaboratif' => 'Ma c’hoarvez alies e labourfe meur a zen war an hevelep pennad |
|
| 831 | + 'texte_sous_titre' => 'Istitl', |
|
| 832 | + 'texte_statistiques_visites' => '(barrennoù teñval : Sul / krommenn deñval : emdroadur ar geidenn)', |
|
| 833 | + 'texte_statut_attente_validation' => 'o c’hortoz bezañ asantet', |
|
| 834 | + 'texte_statut_publies' => 'embannet enlinenn', |
|
| 835 | + 'texte_statut_refuses' => 'nac’het', |
|
| 836 | + 'texte_suppression_fichiers' => 'Implijit an urzhiad-se evit diverkañ an holl restroù krubuilhet e SPIP. An dra-se a c’hell servijout evit ma vo adjedet ho holl pajennoù, dre heg, m’hoc’h eus graet kemmoù bras e neuz pe e framm al lec’hienn.', |
|
| 837 | + 'texte_sur_titre' => 'Ustitl', |
|
| 838 | + 'texte_table_ok' => ': kudenn ebet gant an daolenn-mañ.', |
|
| 839 | + 'texte_tentative_recuperation' => 'Taol-esa evit ratreañ', |
|
| 840 | + 'texte_tenter_reparation' => 'Klask ratreañ an diaz roadennoù', |
|
| 841 | + 'texte_test_proxy' => 'Evit amprouiñ ar proksi-mañ, skrivit amañ dindan chomlec’h al lec’hienn a fell deoc’h arnodiñ.', |
|
| 842 | + 'texte_titre_02' => 'Titl :', |
|
| 843 | + 'texte_titre_obligatoire' => '<b>Titl</b> [Rekis]', |
|
| 844 | + 'texte_travail_article' => '@nom_auteur_modif@ en deus labouret war ar pennad-mañ @date_diff@ munutenn zo', |
|
| 845 | + 'texte_travail_collaboratif' => 'Ma c’hoarvez alies e labourfe meur a zen war an hevelep pennad |
|
| 846 | 846 | e c’hell ar reizhiad diskouez ar pennadoù bet « digoret » nevez zo |
| 847 | 847 | a-benn herzel ma vo graet meur a gemm war un dro. |
| 848 | 848 | Diweredekaet eo an dibarzh-mañ dre ziouer kuit da gaout kemennoù diwall a-hed an amzer.', |
| 849 | - 'texte_vide' => 'goullo', |
|
| 850 | - 'texte_vider_cache' => 'Goullonderiñ ar grubuilh', |
|
| 851 | - 'titre_admin_tech' => 'Trezalc’h teknikel', |
|
| 852 | - 'titre_admin_vider' => 'Trezalc’h teknikel', |
|
| 853 | - 'titre_ajouter_un_auteur' => 'Ouzhpennañ un aozer', |
|
| 854 | - 'titre_ajouter_un_mot' => 'Ouzhpennañ ur ger-alc’hwez', |
|
| 855 | - 'titre_cadre_afficher_article' => 'Diskouez ar pennadoù', |
|
| 856 | - 'titre_cadre_afficher_traductions' => 'Diskouez stad an troidigezhioù evit ar yezhoù-mañ :', |
|
| 857 | - 'titre_cadre_ajouter_auteur' => 'OUZHPENNAÑ UR SKRIDAOZER :', |
|
| 858 | - 'titre_cadre_interieur_rubrique' => 'Er rubrikenn', |
|
| 859 | - 'titre_cadre_numero_auteur' => 'SKRIDAOZER NIVERENN', |
|
| 860 | - 'titre_cadre_numero_objet' => '@objet@ NIVERENN :', |
|
| 861 | - 'titre_cadre_signature_obligatoire' => '<b>Sinadur</b> [Rekis]<br />', |
|
| 862 | - 'titre_config_contenu_notifications' => 'Kemennoù nevezinti', |
|
| 863 | - 'titre_config_contenu_prive' => 'El lodenn brevez', |
|
| 864 | - 'titre_config_contenu_public' => 'War al lec’hienn foran', |
|
| 865 | - 'titre_config_fonctions' => 'Kefluniadur al lec’hienn', |
|
| 866 | - 'titre_config_langage' => 'Kefluniañ ar yezh', |
|
| 867 | - 'titre_configuration' => 'Kefluniañ al lec’hienn', |
|
| 868 | - 'titre_configurer_preferences' => 'Kefluniañ ho tibaboù', |
|
| 869 | - 'titre_configurer_preferences_menus' => 'Kefluniañ an dibarzhoù er pennroll', |
|
| 870 | - 'titre_conflit_edition' => 'Bec’h e-ser embann', |
|
| 871 | - 'titre_connexion_ldap' => 'Dibarzhioù : <b>Ho kevreadenn LDAP</b>', |
|
| 872 | - 'titre_groupe_mots' => 'STROLLAD GERIOÙ :', |
|
| 873 | - 'titre_identite_site' => 'Merk hennadiñ al load internet', |
|
| 874 | - 'titre_langue_article' => 'Yezh ar pennad-skrid', |
|
| 875 | - 'titre_langue_rubrique' => 'YEZH AR RUBRIKENN', |
|
| 876 | - 'titre_langue_trad_article' => 'YEZH HA TROIDIGEZHIOÙ AR PENNAD', |
|
| 877 | - 'titre_les_articles' => 'AR PENNADOÙ', |
|
| 878 | - 'titre_messagerie_agenda' => 'Postelerezh ha deiziataer', |
|
| 879 | - 'titre_naviguer_dans_le_site' => 'Merdeiñ el lec’hienn...', |
|
| 880 | - 'titre_nouvelle_rubrique' => 'Rubrikenn nevez', |
|
| 881 | - 'titre_numero_rubrique' => 'RUBRIKENN NIVERENN :', |
|
| 882 | - 'titre_page_articles_edit' => 'Kemmañ : @titre@', |
|
| 883 | - 'titre_page_articles_page' => 'Ar pennadoù', |
|
| 884 | - 'titre_page_articles_tous' => 'Al lec’hienn a-bezh', |
|
| 885 | - 'titre_page_calendrier' => 'Deiziataer @nom_mois@ @annee@', |
|
| 886 | - 'titre_page_config_contenu' => 'Kefluniañ al lec’hienn', |
|
| 887 | - 'titre_page_delete_all' => 'diverket e vo pep tra, ne vo ket tu da zont war-gil', |
|
| 888 | - 'titre_page_recherche' => 'Disoc’hoù an enklask @recherche@', |
|
| 889 | - 'titre_page_statistiques_referers' => 'Stadegoù (liammoù davet al lec’hienn-mañ)', |
|
| 890 | - 'titre_page_upgrade' => 'Hizivaat SPIP', |
|
| 891 | - 'titre_preference_menus_favoris' => 'Pennrolloù', |
|
| 892 | - 'titre_publication_articles_post_dates' => 'Embann ar pennadoù deiziataet a-c’houde', |
|
| 893 | - 'titre_reparation' => 'Kempenn', |
|
| 894 | - 'titre_suivi_petition' => 'Heuliañ ar sinadegoù', |
|
| 895 | - 'tls_ldap' => 'Surentez Treuzdougen a-Wiskadoù :', |
|
| 896 | - 'trad_article_traduction' => 'Holl stummoù ar pennad-mañ :', |
|
| 897 | - 'trad_delier' => 'Paouez da liammañ ar pennad-mañ ouzh an troidigezhioù anezhañ', |
|
| 898 | - 'trad_lier' => 'Un droidigezh eo ar pennad-mañ. Setu niverenn ar pennad orin :', |
|
| 899 | - 'trad_new' => 'Skrivañ un droidigezh nevez evit ar pennad-mañ', |
|
| 849 | + 'texte_vide' => 'goullo', |
|
| 850 | + 'texte_vider_cache' => 'Goullonderiñ ar grubuilh', |
|
| 851 | + 'titre_admin_tech' => 'Trezalc’h teknikel', |
|
| 852 | + 'titre_admin_vider' => 'Trezalc’h teknikel', |
|
| 853 | + 'titre_ajouter_un_auteur' => 'Ouzhpennañ un aozer', |
|
| 854 | + 'titre_ajouter_un_mot' => 'Ouzhpennañ ur ger-alc’hwez', |
|
| 855 | + 'titre_cadre_afficher_article' => 'Diskouez ar pennadoù', |
|
| 856 | + 'titre_cadre_afficher_traductions' => 'Diskouez stad an troidigezhioù evit ar yezhoù-mañ :', |
|
| 857 | + 'titre_cadre_ajouter_auteur' => 'OUZHPENNAÑ UR SKRIDAOZER :', |
|
| 858 | + 'titre_cadre_interieur_rubrique' => 'Er rubrikenn', |
|
| 859 | + 'titre_cadre_numero_auteur' => 'SKRIDAOZER NIVERENN', |
|
| 860 | + 'titre_cadre_numero_objet' => '@objet@ NIVERENN :', |
|
| 861 | + 'titre_cadre_signature_obligatoire' => '<b>Sinadur</b> [Rekis]<br />', |
|
| 862 | + 'titre_config_contenu_notifications' => 'Kemennoù nevezinti', |
|
| 863 | + 'titre_config_contenu_prive' => 'El lodenn brevez', |
|
| 864 | + 'titre_config_contenu_public' => 'War al lec’hienn foran', |
|
| 865 | + 'titre_config_fonctions' => 'Kefluniadur al lec’hienn', |
|
| 866 | + 'titre_config_langage' => 'Kefluniañ ar yezh', |
|
| 867 | + 'titre_configuration' => 'Kefluniañ al lec’hienn', |
|
| 868 | + 'titre_configurer_preferences' => 'Kefluniañ ho tibaboù', |
|
| 869 | + 'titre_configurer_preferences_menus' => 'Kefluniañ an dibarzhoù er pennroll', |
|
| 870 | + 'titre_conflit_edition' => 'Bec’h e-ser embann', |
|
| 871 | + 'titre_connexion_ldap' => 'Dibarzhioù : <b>Ho kevreadenn LDAP</b>', |
|
| 872 | + 'titre_groupe_mots' => 'STROLLAD GERIOÙ :', |
|
| 873 | + 'titre_identite_site' => 'Merk hennadiñ al load internet', |
|
| 874 | + 'titre_langue_article' => 'Yezh ar pennad-skrid', |
|
| 875 | + 'titre_langue_rubrique' => 'YEZH AR RUBRIKENN', |
|
| 876 | + 'titre_langue_trad_article' => 'YEZH HA TROIDIGEZHIOÙ AR PENNAD', |
|
| 877 | + 'titre_les_articles' => 'AR PENNADOÙ', |
|
| 878 | + 'titre_messagerie_agenda' => 'Postelerezh ha deiziataer', |
|
| 879 | + 'titre_naviguer_dans_le_site' => 'Merdeiñ el lec’hienn...', |
|
| 880 | + 'titre_nouvelle_rubrique' => 'Rubrikenn nevez', |
|
| 881 | + 'titre_numero_rubrique' => 'RUBRIKENN NIVERENN :', |
|
| 882 | + 'titre_page_articles_edit' => 'Kemmañ : @titre@', |
|
| 883 | + 'titre_page_articles_page' => 'Ar pennadoù', |
|
| 884 | + 'titre_page_articles_tous' => 'Al lec’hienn a-bezh', |
|
| 885 | + 'titre_page_calendrier' => 'Deiziataer @nom_mois@ @annee@', |
|
| 886 | + 'titre_page_config_contenu' => 'Kefluniañ al lec’hienn', |
|
| 887 | + 'titre_page_delete_all' => 'diverket e vo pep tra, ne vo ket tu da zont war-gil', |
|
| 888 | + 'titre_page_recherche' => 'Disoc’hoù an enklask @recherche@', |
|
| 889 | + 'titre_page_statistiques_referers' => 'Stadegoù (liammoù davet al lec’hienn-mañ)', |
|
| 890 | + 'titre_page_upgrade' => 'Hizivaat SPIP', |
|
| 891 | + 'titre_preference_menus_favoris' => 'Pennrolloù', |
|
| 892 | + 'titre_publication_articles_post_dates' => 'Embann ar pennadoù deiziataet a-c’houde', |
|
| 893 | + 'titre_reparation' => 'Kempenn', |
|
| 894 | + 'titre_suivi_petition' => 'Heuliañ ar sinadegoù', |
|
| 895 | + 'tls_ldap' => 'Surentez Treuzdougen a-Wiskadoù :', |
|
| 896 | + 'trad_article_traduction' => 'Holl stummoù ar pennad-mañ :', |
|
| 897 | + 'trad_delier' => 'Paouez da liammañ ar pennad-mañ ouzh an troidigezhioù anezhañ', |
|
| 898 | + 'trad_lier' => 'Un droidigezh eo ar pennad-mañ. Setu niverenn ar pennad orin :', |
|
| 899 | + 'trad_new' => 'Skrivañ un droidigezh nevez evit ar pennad-mañ', |
|
| 900 | 900 | |
| 901 | - // U |
|
| 902 | - 'utf8_convert_erreur_orig' => 'Fazi : n’eo ket skoret ar strobad arouezennoù @charset@', |
|
| 901 | + // U |
|
| 902 | + 'utf8_convert_erreur_orig' => 'Fazi : n’eo ket skoret ar strobad arouezennoù @charset@', |
|
| 903 | 903 | |
| 904 | - // V |
|
| 905 | - 'version' => 'Stumm :' |
|
| 904 | + // V |
|
| 905 | + 'version' => 'Stumm :' |
|
| 906 | 906 | ); |
@@ -20,15 +20,13 @@ discard block |
||
| 20 | 20 | if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) { |
| 21 | 21 | if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) { |
| 22 | 22 | $trace = true; |
| 23 | - } |
|
| 24 | - else { |
|
| 23 | + } else { |
|
| 25 | 24 | if (empty($GLOBALS['visiteur_session'])) { |
| 26 | 25 | // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
| 27 | 26 | // car ici on ne sait pas si c'est un hit anonyme |
| 28 | 27 | // ou une requete SQL faite avant chargement de la session |
| 29 | 28 | $trace = (!empty($_GET['var_profile']) ? '?' : false); |
| 30 | - } |
|
| 31 | - else { |
|
| 29 | + } else { |
|
| 32 | 30 | include_spip('inc/autoriser'); |
| 33 | 31 | // gare au bouclage sur calcul de droits au premier appel |
| 34 | 32 | // A fortiori quand on demande une trace |
@@ -50,8 +48,7 @@ discard block |
||
| 50 | 48 | // car ici on ne sait pas si c'est un hit anonyme |
| 51 | 49 | // ou une requete SQL faite avant chargement de la session |
| 52 | 50 | $trace = (!empty($_GET['var_profile']) ? '?' : false); |
| 53 | - } |
|
| 54 | - else { |
|
| 51 | + } else { |
|
| 55 | 52 | include_spip('inc/autoriser'); |
| 56 | 53 | // gare au bouclage sur calcul de droits au premier appel |
| 57 | 54 | // A fortiori quand on demande une trace |
@@ -11,190 +11,190 @@ |
||
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 14 | - return; |
|
| 14 | + return; |
|
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | // https://code.spip.net/@trace_query_start |
| 18 | 18 | function trace_query_start() { |
| 19 | - static $trace = '?'; |
|
| 20 | - if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) { |
|
| 21 | - if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) { |
|
| 22 | - $trace = true; |
|
| 23 | - } |
|
| 24 | - else { |
|
| 25 | - if (empty($GLOBALS['visiteur_session'])) { |
|
| 26 | - // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
|
| 27 | - // car ici on ne sait pas si c'est un hit anonyme |
|
| 28 | - // ou une requete SQL faite avant chargement de la session |
|
| 29 | - $trace = (!empty($_GET['var_profile']) ? '?' : false); |
|
| 30 | - } |
|
| 31 | - else { |
|
| 32 | - include_spip('inc/autoriser'); |
|
| 33 | - // gare au bouclage sur calcul de droits au premier appel |
|
| 34 | - // A fortiori quand on demande une trace |
|
| 35 | - $trace = false; // on ne trace pas la requete provoquee par autoriser('debug') |
|
| 36 | - $trace = (!empty($_GET['var_profile']) and autoriser('debug')); |
|
| 37 | - } |
|
| 38 | - } |
|
| 39 | - } |
|
| 40 | - |
|
| 41 | - return $trace ? microtime() : 0; |
|
| 19 | + static $trace = '?'; |
|
| 20 | + if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) { |
|
| 21 | + if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) { |
|
| 22 | + $trace = true; |
|
| 23 | + } |
|
| 24 | + else { |
|
| 25 | + if (empty($GLOBALS['visiteur_session'])) { |
|
| 26 | + // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
|
| 27 | + // car ici on ne sait pas si c'est un hit anonyme |
|
| 28 | + // ou une requete SQL faite avant chargement de la session |
|
| 29 | + $trace = (!empty($_GET['var_profile']) ? '?' : false); |
|
| 30 | + } |
|
| 31 | + else { |
|
| 32 | + include_spip('inc/autoriser'); |
|
| 33 | + // gare au bouclage sur calcul de droits au premier appel |
|
| 34 | + // A fortiori quand on demande une trace |
|
| 35 | + $trace = false; // on ne trace pas la requete provoquee par autoriser('debug') |
|
| 36 | + $trace = (!empty($_GET['var_profile']) and autoriser('debug')); |
|
| 37 | + } |
|
| 38 | + } |
|
| 39 | + } |
|
| 40 | + |
|
| 41 | + return $trace ? microtime() : 0; |
|
| 42 | 42 | } |
| 43 | 43 | |
| 44 | 44 | // https://code.spip.net/@trace_query_end |
| 45 | 45 | function trace_query_end($query, $start, $result, $erreur, $serveur = '') { |
| 46 | - static $trace = '?'; |
|
| 47 | - if ($trace === '?') { |
|
| 48 | - if (empty($GLOBALS['visiteur_session'])) { |
|
| 49 | - // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
|
| 50 | - // car ici on ne sait pas si c'est un hit anonyme |
|
| 51 | - // ou une requete SQL faite avant chargement de la session |
|
| 52 | - $trace = (!empty($_GET['var_profile']) ? '?' : false); |
|
| 53 | - } |
|
| 54 | - else { |
|
| 55 | - include_spip('inc/autoriser'); |
|
| 56 | - // gare au bouclage sur calcul de droits au premier appel |
|
| 57 | - // A fortiori quand on demande une trace |
|
| 58 | - $trace = false; // on ne trace pas la requete provoquee par autoriser('debug') |
|
| 59 | - $trace = (!empty($_GET['var_profile']) and autoriser('debug')); |
|
| 60 | - } |
|
| 61 | - } |
|
| 62 | - if ($start) { |
|
| 63 | - $end = microtime(); |
|
| 64 | - list($usec, $sec) = explode(' ', $start); |
|
| 65 | - list($usec2, $sec2) = explode(' ', $end); |
|
| 66 | - $dt = $sec2 + $usec2 - $sec - $usec; |
|
| 67 | - pipeline('trig_trace_query', ['query' => $query, 'start' => $start, 'end' => $end, 'time' => $dt, 'result' => $result, 'erreur' => $erreur, 'serveur' => $serveur]); |
|
| 68 | - if ($trace) { |
|
| 69 | - trace_query_chrono($dt, $query, $result, $serveur); |
|
| 70 | - } |
|
| 71 | - } |
|
| 72 | - // tracer les erreurs, sauf pour select, c'est fait dans abstract_sql |
|
| 73 | - if ($trace and $erreur and !preg_match('/^select\b/i', $query)) { |
|
| 74 | - erreur_squelette([sql_errno($serveur), $erreur, $query]); |
|
| 75 | - } |
|
| 76 | - |
|
| 77 | - return $result; |
|
| 46 | + static $trace = '?'; |
|
| 47 | + if ($trace === '?') { |
|
| 48 | + if (empty($GLOBALS['visiteur_session'])) { |
|
| 49 | + // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
|
| 50 | + // car ici on ne sait pas si c'est un hit anonyme |
|
| 51 | + // ou une requete SQL faite avant chargement de la session |
|
| 52 | + $trace = (!empty($_GET['var_profile']) ? '?' : false); |
|
| 53 | + } |
|
| 54 | + else { |
|
| 55 | + include_spip('inc/autoriser'); |
|
| 56 | + // gare au bouclage sur calcul de droits au premier appel |
|
| 57 | + // A fortiori quand on demande une trace |
|
| 58 | + $trace = false; // on ne trace pas la requete provoquee par autoriser('debug') |
|
| 59 | + $trace = (!empty($_GET['var_profile']) and autoriser('debug')); |
|
| 60 | + } |
|
| 61 | + } |
|
| 62 | + if ($start) { |
|
| 63 | + $end = microtime(); |
|
| 64 | + list($usec, $sec) = explode(' ', $start); |
|
| 65 | + list($usec2, $sec2) = explode(' ', $end); |
|
| 66 | + $dt = $sec2 + $usec2 - $sec - $usec; |
|
| 67 | + pipeline('trig_trace_query', ['query' => $query, 'start' => $start, 'end' => $end, 'time' => $dt, 'result' => $result, 'erreur' => $erreur, 'serveur' => $serveur]); |
|
| 68 | + if ($trace) { |
|
| 69 | + trace_query_chrono($dt, $query, $result, $serveur); |
|
| 70 | + } |
|
| 71 | + } |
|
| 72 | + // tracer les erreurs, sauf pour select, c'est fait dans abstract_sql |
|
| 73 | + if ($trace and $erreur and !preg_match('/^select\b/i', $query)) { |
|
| 74 | + erreur_squelette([sql_errno($serveur), $erreur, $query]); |
|
| 75 | + } |
|
| 76 | + |
|
| 77 | + return $result; |
|
| 78 | 78 | } |
| 79 | 79 | |
| 80 | 80 | // https://code.spip.net/@trace_query_chrono |
| 81 | 81 | function trace_query_chrono($dt, $query, $result, $serveur = '') { |
| 82 | - include_spip('inc/filtres_mini'); |
|
| 83 | - static $tt = 0, $nb = 0; |
|
| 84 | - |
|
| 85 | - $x = _request('var_mode_objet'); |
|
| 86 | - if (isset($GLOBALS['debug']['aucasou'])) { |
|
| 87 | - list(, $boucle, $serveur, $contexte) = $GLOBALS['debug']['aucasou']; |
|
| 88 | - if ($x and !preg_match("/$boucle\$/", $x)) { |
|
| 89 | - return; |
|
| 90 | - } |
|
| 91 | - if ($serveur) { |
|
| 92 | - $boucle .= " ($serveur)"; |
|
| 93 | - } |
|
| 94 | - $boucle = "<b>$boucle</b>"; |
|
| 95 | - } else { |
|
| 96 | - if ($x) { |
|
| 97 | - return; |
|
| 98 | - } |
|
| 99 | - $boucle = $contexte = ''; |
|
| 100 | - } |
|
| 101 | - |
|
| 102 | - $tt += $dt; |
|
| 103 | - $nb++; |
|
| 104 | - |
|
| 105 | - $q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2", spip_htmlentities($query)); |
|
| 106 | - $e = sql_explain($query, $serveur); |
|
| 107 | - $r = str_replace('Resource id ', '', (is_object($result) ? get_class($result) : $result)); |
|
| 108 | - $GLOBALS['tableau_des_temps'][] = [$dt, $nb, $boucle, $q, $e, $r, $contexte]; |
|
| 82 | + include_spip('inc/filtres_mini'); |
|
| 83 | + static $tt = 0, $nb = 0; |
|
| 84 | + |
|
| 85 | + $x = _request('var_mode_objet'); |
|
| 86 | + if (isset($GLOBALS['debug']['aucasou'])) { |
|
| 87 | + list(, $boucle, $serveur, $contexte) = $GLOBALS['debug']['aucasou']; |
|
| 88 | + if ($x and !preg_match("/$boucle\$/", $x)) { |
|
| 89 | + return; |
|
| 90 | + } |
|
| 91 | + if ($serveur) { |
|
| 92 | + $boucle .= " ($serveur)"; |
|
| 93 | + } |
|
| 94 | + $boucle = "<b>$boucle</b>"; |
|
| 95 | + } else { |
|
| 96 | + if ($x) { |
|
| 97 | + return; |
|
| 98 | + } |
|
| 99 | + $boucle = $contexte = ''; |
|
| 100 | + } |
|
| 101 | + |
|
| 102 | + $tt += $dt; |
|
| 103 | + $nb++; |
|
| 104 | + |
|
| 105 | + $q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2", spip_htmlentities($query)); |
|
| 106 | + $e = sql_explain($query, $serveur); |
|
| 107 | + $r = str_replace('Resource id ', '', (is_object($result) ? get_class($result) : $result)); |
|
| 108 | + $GLOBALS['tableau_des_temps'][] = [$dt, $nb, $boucle, $q, $e, $r, $contexte]; |
|
| 109 | 109 | } |
| 110 | 110 | |
| 111 | 111 | |
| 112 | 112 | function chrono_requete($temps) { |
| 113 | - $total = 0; |
|
| 114 | - $hors = '<i>' . _T('zbug_hors_compilation') . '</i>'; |
|
| 115 | - $t = $q = $n = $d = []; |
|
| 116 | - // Totaliser les temps et completer le Explain |
|
| 117 | - foreach ($temps as $key => $v) { |
|
| 118 | - list($dt, $nb, $boucle, $query, $explain, $res, $contexte) = $v; |
|
| 119 | - if (is_array($contexte)) { |
|
| 120 | - $k = ($contexte[0] . " $boucle"); |
|
| 121 | - include_spip('public/compiler'); |
|
| 122 | - $env = reconstruire_contexte_compil($contexte); |
|
| 123 | - } else { |
|
| 124 | - $k = $env = $boucle; |
|
| 125 | - } |
|
| 126 | - |
|
| 127 | - $total += $dt; |
|
| 128 | - $t[$key] = $dt; |
|
| 129 | - $q[$key] = $nb; |
|
| 130 | - if (!isset($d[$k])) { |
|
| 131 | - $d[$k] = 0; |
|
| 132 | - $n[$k] = 0; |
|
| 133 | - } |
|
| 134 | - $d[$k] += $dt; |
|
| 135 | - ++$n[$k]; |
|
| 136 | - |
|
| 137 | - if (!is_array($explain)) { |
|
| 138 | - $explain = []; |
|
| 139 | - } |
|
| 140 | - foreach ($explain as $j => $v) { |
|
| 141 | - $explain[$j] = "<tr><th>$j</th><td>" |
|
| 142 | - . str_replace(';', '<br />', $v) |
|
| 143 | - . '</td></tr>'; |
|
| 144 | - } |
|
| 145 | - $e = "<table class='explain'>" |
|
| 146 | - . '<caption>' |
|
| 147 | - . $query |
|
| 148 | - . '</caption>' |
|
| 149 | - . "<tr><th>Time</th><td>$dt</td></tr>" |
|
| 150 | - . "<tr><th>Order</th><td>$nb</td></tr>" |
|
| 151 | - . "<tr><th>Res</th><td>$res</td></tr>" |
|
| 152 | - . join('', $explain) |
|
| 153 | - . '</table>'; |
|
| 154 | - |
|
| 155 | - $temps[$key] = [$e, $env, $k]; |
|
| 156 | - } |
|
| 157 | - // Trier par temps d'execution decroissant |
|
| 158 | - array_multisort($t, SORT_DESC, $q, $temps); |
|
| 159 | - arsort($d); |
|
| 160 | - $i = 1; |
|
| 161 | - $t = []; |
|
| 162 | - // Fabriquer les liens de navigations dans le tableau des temps |
|
| 163 | - foreach ($temps as $k => $v) { |
|
| 164 | - $titre = strip_tags($v[2]); |
|
| 165 | - $href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i"; |
|
| 166 | - $href = str_replace("\\'", ''', $href); |
|
| 167 | - |
|
| 168 | - if (!isset($t[$v[2]])) { |
|
| 169 | - $t[$v[2]] = []; |
|
| 170 | - } |
|
| 171 | - $t[$v[2]][] = "<span class='spip-debug-arg'> " |
|
| 172 | - . "<a title='$titre' href='$href'>$i</a>" |
|
| 173 | - . '</span>' |
|
| 174 | - . ((count($t[$v[2]]) % 10 == 9) ? '<br />' : ''); |
|
| 175 | - $i++; |
|
| 176 | - } |
|
| 177 | - |
|
| 178 | - if ($d['']) { |
|
| 179 | - $d[$hors] = $d['']; |
|
| 180 | - $n[$hors] = $n['']; |
|
| 181 | - $t[$hors] = $t['']; |
|
| 182 | - } |
|
| 183 | - unset($d['']); |
|
| 184 | - // Fabriquer le tableau des liens de navigation dans le grand tableau |
|
| 185 | - foreach ($d as $k => $v) { |
|
| 186 | - $d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>" |
|
| 187 | - . join('', $t[$k]); |
|
| 188 | - } |
|
| 189 | - |
|
| 190 | - $navigation = [ |
|
| 191 | - _T('zbug_statistiques'), |
|
| 192 | - '<tr><td>' |
|
| 193 | - . join("</td></tr>\n<tr><td>", $d) |
|
| 194 | - . "</td></tr>\n" |
|
| 195 | - . (# _request('var_mode_objet') ? '' : |
|
| 196 | - ('<tr><td>' . count($temps) . '</td><td>' . _T('info_total') . '</td><td class="time">' . $total . '</td><td></td></tr>')) |
|
| 197 | - ]; |
|
| 198 | - |
|
| 199 | - return [$temps, $navigation]; |
|
| 113 | + $total = 0; |
|
| 114 | + $hors = '<i>' . _T('zbug_hors_compilation') . '</i>'; |
|
| 115 | + $t = $q = $n = $d = []; |
|
| 116 | + // Totaliser les temps et completer le Explain |
|
| 117 | + foreach ($temps as $key => $v) { |
|
| 118 | + list($dt, $nb, $boucle, $query, $explain, $res, $contexte) = $v; |
|
| 119 | + if (is_array($contexte)) { |
|
| 120 | + $k = ($contexte[0] . " $boucle"); |
|
| 121 | + include_spip('public/compiler'); |
|
| 122 | + $env = reconstruire_contexte_compil($contexte); |
|
| 123 | + } else { |
|
| 124 | + $k = $env = $boucle; |
|
| 125 | + } |
|
| 126 | + |
|
| 127 | + $total += $dt; |
|
| 128 | + $t[$key] = $dt; |
|
| 129 | + $q[$key] = $nb; |
|
| 130 | + if (!isset($d[$k])) { |
|
| 131 | + $d[$k] = 0; |
|
| 132 | + $n[$k] = 0; |
|
| 133 | + } |
|
| 134 | + $d[$k] += $dt; |
|
| 135 | + ++$n[$k]; |
|
| 136 | + |
|
| 137 | + if (!is_array($explain)) { |
|
| 138 | + $explain = []; |
|
| 139 | + } |
|
| 140 | + foreach ($explain as $j => $v) { |
|
| 141 | + $explain[$j] = "<tr><th>$j</th><td>" |
|
| 142 | + . str_replace(';', '<br />', $v) |
|
| 143 | + . '</td></tr>'; |
|
| 144 | + } |
|
| 145 | + $e = "<table class='explain'>" |
|
| 146 | + . '<caption>' |
|
| 147 | + . $query |
|
| 148 | + . '</caption>' |
|
| 149 | + . "<tr><th>Time</th><td>$dt</td></tr>" |
|
| 150 | + . "<tr><th>Order</th><td>$nb</td></tr>" |
|
| 151 | + . "<tr><th>Res</th><td>$res</td></tr>" |
|
| 152 | + . join('', $explain) |
|
| 153 | + . '</table>'; |
|
| 154 | + |
|
| 155 | + $temps[$key] = [$e, $env, $k]; |
|
| 156 | + } |
|
| 157 | + // Trier par temps d'execution decroissant |
|
| 158 | + array_multisort($t, SORT_DESC, $q, $temps); |
|
| 159 | + arsort($d); |
|
| 160 | + $i = 1; |
|
| 161 | + $t = []; |
|
| 162 | + // Fabriquer les liens de navigations dans le tableau des temps |
|
| 163 | + foreach ($temps as $k => $v) { |
|
| 164 | + $titre = strip_tags($v[2]); |
|
| 165 | + $href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i"; |
|
| 166 | + $href = str_replace("\\'", ''', $href); |
|
| 167 | + |
|
| 168 | + if (!isset($t[$v[2]])) { |
|
| 169 | + $t[$v[2]] = []; |
|
| 170 | + } |
|
| 171 | + $t[$v[2]][] = "<span class='spip-debug-arg'> " |
|
| 172 | + . "<a title='$titre' href='$href'>$i</a>" |
|
| 173 | + . '</span>' |
|
| 174 | + . ((count($t[$v[2]]) % 10 == 9) ? '<br />' : ''); |
|
| 175 | + $i++; |
|
| 176 | + } |
|
| 177 | + |
|
| 178 | + if ($d['']) { |
|
| 179 | + $d[$hors] = $d['']; |
|
| 180 | + $n[$hors] = $n['']; |
|
| 181 | + $t[$hors] = $t['']; |
|
| 182 | + } |
|
| 183 | + unset($d['']); |
|
| 184 | + // Fabriquer le tableau des liens de navigation dans le grand tableau |
|
| 185 | + foreach ($d as $k => $v) { |
|
| 186 | + $d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>" |
|
| 187 | + . join('', $t[$k]); |
|
| 188 | + } |
|
| 189 | + |
|
| 190 | + $navigation = [ |
|
| 191 | + _T('zbug_statistiques'), |
|
| 192 | + '<tr><td>' |
|
| 193 | + . join("</td></tr>\n<tr><td>", $d) |
|
| 194 | + . "</td></tr>\n" |
|
| 195 | + . (# _request('var_mode_objet') ? '' : |
|
| 196 | + ('<tr><td>' . count($temps) . '</td><td>' . _T('info_total') . '</td><td class="time">' . $total . '</td><td></td></tr>')) |
|
| 197 | + ]; |
|
| 198 | + |
|
| 199 | + return [$temps, $navigation]; |
|
| 200 | 200 | } |
@@ -111,13 +111,13 @@ discard block |
||
| 111 | 111 | |
| 112 | 112 | function chrono_requete($temps) { |
| 113 | 113 | $total = 0; |
| 114 | - $hors = '<i>' . _T('zbug_hors_compilation') . '</i>'; |
|
| 114 | + $hors = '<i>'._T('zbug_hors_compilation').'</i>'; |
|
| 115 | 115 | $t = $q = $n = $d = []; |
| 116 | 116 | // Totaliser les temps et completer le Explain |
| 117 | 117 | foreach ($temps as $key => $v) { |
| 118 | 118 | list($dt, $nb, $boucle, $query, $explain, $res, $contexte) = $v; |
| 119 | 119 | if (is_array($contexte)) { |
| 120 | - $k = ($contexte[0] . " $boucle"); |
|
| 120 | + $k = ($contexte[0]." $boucle"); |
|
| 121 | 121 | include_spip('public/compiler'); |
| 122 | 122 | $env = reconstruire_contexte_compil($contexte); |
| 123 | 123 | } else { |
@@ -162,7 +162,7 @@ discard block |
||
| 162 | 162 | // Fabriquer les liens de navigations dans le tableau des temps |
| 163 | 163 | foreach ($temps as $k => $v) { |
| 164 | 164 | $titre = strip_tags($v[2]); |
| 165 | - $href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i"; |
|
| 165 | + $href = quote_amp($GLOBALS['REQUEST_URI'])."#req$i"; |
|
| 166 | 166 | $href = str_replace("\\'", ''', $href); |
| 167 | 167 | |
| 168 | 168 | if (!isset($t[$v[2]])) { |
@@ -183,7 +183,7 @@ discard block |
||
| 183 | 183 | unset($d['']); |
| 184 | 184 | // Fabriquer le tableau des liens de navigation dans le grand tableau |
| 185 | 185 | foreach ($d as $k => $v) { |
| 186 | - $d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>" |
|
| 186 | + $d[$k] = $n[$k]."</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>" |
|
| 187 | 187 | . join('', $t[$k]); |
| 188 | 188 | } |
| 189 | 189 | |
@@ -193,7 +193,7 @@ discard block |
||
| 193 | 193 | . join("</td></tr>\n<tr><td>", $d) |
| 194 | 194 | . "</td></tr>\n" |
| 195 | 195 | . (# _request('var_mode_objet') ? '' : |
| 196 | - ('<tr><td>' . count($temps) . '</td><td>' . _T('info_total') . '</td><td class="time">' . $total . '</td><td></td></tr>')) |
|
| 196 | + ('<tr><td>'.count($temps).'</td><td>'._T('info_total').'</td><td class="time">'.$total.'</td><td></td></tr>')) |
|
| 197 | 197 | ]; |
| 198 | 198 | |
| 199 | 199 | return [$temps, $navigation]; |
@@ -2006,8 +2006,7 @@ discard block |
||
| 2006 | 2006 | // si on ne connait pas le type on le deduit de $v autant que possible |
| 2007 | 2007 | if (is_bool($v)) { |
| 2008 | 2008 | return strval(intval($v)); |
| 2009 | - } |
|
| 2010 | - elseif (is_numeric($v)) { |
|
| 2009 | + } elseif (is_numeric($v)) { |
|
| 2011 | 2010 | return strval($v); |
| 2012 | 2011 | } |
| 2013 | 2012 | } |
@@ -2633,8 +2632,7 @@ discard block |
||
| 2633 | 2632 | $tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]); |
| 2634 | 2633 | } |
| 2635 | 2634 | } |
| 2636 | - } |
|
| 2637 | - else { |
|
| 2635 | + } else { |
|
| 2638 | 2636 | $now = _sqlite_func_now(true); |
| 2639 | 2637 | foreach (array_keys($tables[$table]['desc']) as $k) { |
| 2640 | 2638 | $tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]); |
@@ -18,7 +18,7 @@ discard block |
||
| 18 | 18 | */ |
| 19 | 19 | |
| 20 | 20 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 21 | - return; |
|
| 21 | + return; |
|
| 22 | 22 | } |
| 23 | 23 | |
| 24 | 24 | // TODO: get/set_caracteres ? |
@@ -42,91 +42,91 @@ discard block |
||
| 42 | 42 | * @return array|bool |
| 43 | 43 | */ |
| 44 | 44 | function req_sqlite_dist($addr, $port, $login, $pass, $db = '', $prefixe = '', $sqlite_version = '') { |
| 45 | - static $last_connect = []; |
|
| 46 | - |
|
| 47 | - // si provient de selectdb |
|
| 48 | - // un code pour etre sur que l'on vient de select_db() |
|
| 49 | - if (strpos($db, $code = '@selectdb@') !== false) { |
|
| 50 | - foreach (['addr', 'port', 'login', 'pass', 'prefixe'] as $a) { |
|
| 51 | - $$a = $last_connect[$a]; |
|
| 52 | - } |
|
| 53 | - $db = str_replace($code, '', $db); |
|
| 54 | - } |
|
| 55 | - |
|
| 56 | - /* |
|
| 45 | + static $last_connect = []; |
|
| 46 | + |
|
| 47 | + // si provient de selectdb |
|
| 48 | + // un code pour etre sur que l'on vient de select_db() |
|
| 49 | + if (strpos($db, $code = '@selectdb@') !== false) { |
|
| 50 | + foreach (['addr', 'port', 'login', 'pass', 'prefixe'] as $a) { |
|
| 51 | + $$a = $last_connect[$a]; |
|
| 52 | + } |
|
| 53 | + $db = str_replace($code, '', $db); |
|
| 54 | + } |
|
| 55 | + |
|
| 56 | + /* |
|
| 57 | 57 | * En sqlite, seule l'adresse du fichier est importante. |
| 58 | 58 | * Ce sera $db le nom, |
| 59 | 59 | * le path est $addr |
| 60 | 60 | * (_DIR_DB si $addr est vide) |
| 61 | 61 | */ |
| 62 | - _sqlite_init(); |
|
| 63 | - |
|
| 64 | - // determiner le dossier de la base : $addr ou _DIR_DB |
|
| 65 | - $f = _DIR_DB; |
|
| 66 | - if ($addr and strpos($addr, '/') !== false) { |
|
| 67 | - $f = rtrim($addr, '/') . '/'; |
|
| 68 | - } |
|
| 69 | - |
|
| 70 | - // un nom de base demande et impossible d'obtenir la base, on s'en va : |
|
| 71 | - // il faut que la base existe ou que le repertoire parent soit writable |
|
| 72 | - if ($db and !is_file($f .= $db . '.sqlite') and !is_writable(dirname($f))) { |
|
| 73 | - spip_log("base $f non trouvee ou droits en ecriture manquants", 'sqlite.' . _LOG_HS); |
|
| 74 | - |
|
| 75 | - return false; |
|
| 76 | - } |
|
| 77 | - |
|
| 78 | - // charger les modules sqlite au besoin |
|
| 79 | - if (!_sqlite_charger_version($sqlite_version)) { |
|
| 80 | - spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!", 'sqlite.' . _LOG_HS); |
|
| 81 | - |
|
| 82 | - return false; |
|
| 83 | - } |
|
| 84 | - |
|
| 85 | - // chargement des constantes |
|
| 86 | - // il ne faut pas definir les constantes avant d'avoir charge les modules sqlite |
|
| 87 | - $define = 'spip_sqlite' . $sqlite_version . '_constantes'; |
|
| 88 | - $define(); |
|
| 89 | - |
|
| 90 | - $ok = false; |
|
| 91 | - if (!$db) { |
|
| 92 | - // si pas de db -> |
|
| 93 | - // base temporaire tant qu'on ne connait pas son vrai nom |
|
| 94 | - // pour tester la connexion |
|
| 95 | - $db = '_sqlite' . $sqlite_version . '_install'; |
|
| 96 | - $tmp = _DIR_DB . $db . '.sqlite'; |
|
| 97 | - $ok = $link = new \PDO("sqlite:$tmp"); |
|
| 98 | - } else { |
|
| 99 | - // Ouvrir (eventuellement creer la base) |
|
| 100 | - $ok = $link = new \PDO("sqlite:$f"); |
|
| 101 | - } |
|
| 102 | - |
|
| 103 | - if (!$ok) { |
|
| 104 | - $e = _sqlite_last_error_from_link($link); |
|
| 105 | - spip_log("Impossible d'ouvrir la base SQLite($sqlite_version) $f : $e", 'sqlite.' . _LOG_HS); |
|
| 106 | - |
|
| 107 | - return false; |
|
| 108 | - } |
|
| 109 | - |
|
| 110 | - if ($link) { |
|
| 111 | - $last_connect = [ |
|
| 112 | - 'addr' => $addr, |
|
| 113 | - 'port' => $port, |
|
| 114 | - 'login' => $login, |
|
| 115 | - 'pass' => $pass, |
|
| 116 | - 'db' => $db, |
|
| 117 | - 'prefixe' => $prefixe, |
|
| 118 | - ]; |
|
| 119 | - // etre sur qu'on definit bien les fonctions a chaque nouvelle connexion |
|
| 120 | - include_spip('req/sqlite_fonctions'); |
|
| 121 | - _sqlite_init_functions($link); |
|
| 122 | - } |
|
| 123 | - |
|
| 124 | - return [ |
|
| 125 | - 'db' => $db, |
|
| 126 | - 'prefixe' => $prefixe ? $prefixe : $db, |
|
| 127 | - 'link' => $link, |
|
| 128 | - 'total_requetes' => 0, |
|
| 129 | - ]; |
|
| 62 | + _sqlite_init(); |
|
| 63 | + |
|
| 64 | + // determiner le dossier de la base : $addr ou _DIR_DB |
|
| 65 | + $f = _DIR_DB; |
|
| 66 | + if ($addr and strpos($addr, '/') !== false) { |
|
| 67 | + $f = rtrim($addr, '/') . '/'; |
|
| 68 | + } |
|
| 69 | + |
|
| 70 | + // un nom de base demande et impossible d'obtenir la base, on s'en va : |
|
| 71 | + // il faut que la base existe ou que le repertoire parent soit writable |
|
| 72 | + if ($db and !is_file($f .= $db . '.sqlite') and !is_writable(dirname($f))) { |
|
| 73 | + spip_log("base $f non trouvee ou droits en ecriture manquants", 'sqlite.' . _LOG_HS); |
|
| 74 | + |
|
| 75 | + return false; |
|
| 76 | + } |
|
| 77 | + |
|
| 78 | + // charger les modules sqlite au besoin |
|
| 79 | + if (!_sqlite_charger_version($sqlite_version)) { |
|
| 80 | + spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!", 'sqlite.' . _LOG_HS); |
|
| 81 | + |
|
| 82 | + return false; |
|
| 83 | + } |
|
| 84 | + |
|
| 85 | + // chargement des constantes |
|
| 86 | + // il ne faut pas definir les constantes avant d'avoir charge les modules sqlite |
|
| 87 | + $define = 'spip_sqlite' . $sqlite_version . '_constantes'; |
|
| 88 | + $define(); |
|
| 89 | + |
|
| 90 | + $ok = false; |
|
| 91 | + if (!$db) { |
|
| 92 | + // si pas de db -> |
|
| 93 | + // base temporaire tant qu'on ne connait pas son vrai nom |
|
| 94 | + // pour tester la connexion |
|
| 95 | + $db = '_sqlite' . $sqlite_version . '_install'; |
|
| 96 | + $tmp = _DIR_DB . $db . '.sqlite'; |
|
| 97 | + $ok = $link = new \PDO("sqlite:$tmp"); |
|
| 98 | + } else { |
|
| 99 | + // Ouvrir (eventuellement creer la base) |
|
| 100 | + $ok = $link = new \PDO("sqlite:$f"); |
|
| 101 | + } |
|
| 102 | + |
|
| 103 | + if (!$ok) { |
|
| 104 | + $e = _sqlite_last_error_from_link($link); |
|
| 105 | + spip_log("Impossible d'ouvrir la base SQLite($sqlite_version) $f : $e", 'sqlite.' . _LOG_HS); |
|
| 106 | + |
|
| 107 | + return false; |
|
| 108 | + } |
|
| 109 | + |
|
| 110 | + if ($link) { |
|
| 111 | + $last_connect = [ |
|
| 112 | + 'addr' => $addr, |
|
| 113 | + 'port' => $port, |
|
| 114 | + 'login' => $login, |
|
| 115 | + 'pass' => $pass, |
|
| 116 | + 'db' => $db, |
|
| 117 | + 'prefixe' => $prefixe, |
|
| 118 | + ]; |
|
| 119 | + // etre sur qu'on definit bien les fonctions a chaque nouvelle connexion |
|
| 120 | + include_spip('req/sqlite_fonctions'); |
|
| 121 | + _sqlite_init_functions($link); |
|
| 122 | + } |
|
| 123 | + |
|
| 124 | + return [ |
|
| 125 | + 'db' => $db, |
|
| 126 | + 'prefixe' => $prefixe ? $prefixe : $db, |
|
| 127 | + 'link' => $link, |
|
| 128 | + 'total_requetes' => 0, |
|
| 129 | + ]; |
|
| 130 | 130 | } |
| 131 | 131 | |
| 132 | 132 | |
@@ -145,14 +145,14 @@ discard block |
||
| 145 | 145 | * Resultat de la requete |
| 146 | 146 | */ |
| 147 | 147 | function spip_sqlite_query($query, $serveur = '', $requeter = true) { |
| 148 | - #spip_log("spip_sqlite_query() > $query",'sqlite.'._LOG_DEBUG); |
|
| 149 | - #_sqlite_init(); // fait la premiere fois dans spip_sqlite |
|
| 150 | - $query = spip_sqlite::traduire_requete($query, $serveur); |
|
| 151 | - if (!$requeter) { |
|
| 152 | - return $query; |
|
| 153 | - } |
|
| 148 | + #spip_log("spip_sqlite_query() > $query",'sqlite.'._LOG_DEBUG); |
|
| 149 | + #_sqlite_init(); // fait la premiere fois dans spip_sqlite |
|
| 150 | + $query = spip_sqlite::traduire_requete($query, $serveur); |
|
| 151 | + if (!$requeter) { |
|
| 152 | + return $query; |
|
| 153 | + } |
|
| 154 | 154 | |
| 155 | - return spip_sqlite::executer_requete($query, $serveur); |
|
| 155 | + return spip_sqlite::executer_requete($query, $serveur); |
|
| 156 | 156 | } |
| 157 | 157 | |
| 158 | 158 | |
@@ -169,11 +169,11 @@ discard block |
||
| 169 | 169 | */ |
| 170 | 170 | function spip_sqlite_alter($query, $serveur = '', $requeter = true) { |
| 171 | 171 | |
| 172 | - $query = spip_sqlite_query("ALTER $query", $serveur, false); |
|
| 173 | - // traduire la requete pour recuperer les bons noms de table |
|
| 174 | - $query = spip_sqlite::traduire_requete($query, $serveur); |
|
| 172 | + $query = spip_sqlite_query("ALTER $query", $serveur, false); |
|
| 173 | + // traduire la requete pour recuperer les bons noms de table |
|
| 174 | + $query = spip_sqlite::traduire_requete($query, $serveur); |
|
| 175 | 175 | |
| 176 | - /* |
|
| 176 | + /* |
|
| 177 | 177 | * la il faut faire les transformations |
| 178 | 178 | * si ALTER TABLE x (DROP|CHANGE) y |
| 179 | 179 | * |
@@ -182,251 +182,251 @@ discard block |
||
| 182 | 182 | * 3) faire chaque requete independemment |
| 183 | 183 | */ |
| 184 | 184 | |
| 185 | - // 1 |
|
| 186 | - if (preg_match('/\s*(ALTER(\s*IGNORE)?\s*TABLE\s*([^\s]*))\s*(.*)?/is', $query, $regs)) { |
|
| 187 | - $debut = $regs[1]; |
|
| 188 | - $table = $regs[3]; |
|
| 189 | - $suite = $regs[4]; |
|
| 190 | - } else { |
|
| 191 | - spip_log("SQLite : Probleme de ALTER TABLE mal forme dans $query", 'sqlite.' . _LOG_ERREUR); |
|
| 192 | - |
|
| 193 | - return false; |
|
| 194 | - } |
|
| 195 | - |
|
| 196 | - // 2 |
|
| 197 | - // il faudrait une regexp pour eviter de spliter ADD PRIMARY KEY (colA, colB) |
|
| 198 | - // tout en cassant "ADD PRIMARY KEY (colA, colB), ADD INDEX (chose)"... en deux |
|
| 199 | - // ou revoir l'api de sql_alter en creant un |
|
| 200 | - // sql_alter_table($table,array($actions)); |
|
| 201 | - $todo = explode(',', $suite); |
|
| 202 | - |
|
| 203 | - // on remet les morceaux dechires ensembles... que c'est laid ! |
|
| 204 | - $todo2 = []; |
|
| 205 | - $i = 0; |
|
| 206 | - $ouverte = false; |
|
| 207 | - while ($do = array_shift($todo)) { |
|
| 208 | - $todo2[$i] = isset($todo2[$i]) ? $todo2[$i] . ',' . $do : $do; |
|
| 209 | - $o = (false !== strpos($do, '(')); |
|
| 210 | - $f = (false !== strpos($do, ')')); |
|
| 211 | - if ($o and !$f) { |
|
| 212 | - $ouverte = true; |
|
| 213 | - } elseif ($f) { |
|
| 214 | - $ouverte = false; |
|
| 215 | - } |
|
| 216 | - if (!$ouverte) { |
|
| 217 | - $i++; |
|
| 218 | - } |
|
| 219 | - } |
|
| 220 | - |
|
| 221 | - // 3 |
|
| 222 | - $resultats = []; |
|
| 223 | - foreach ($todo2 as $do) { |
|
| 224 | - $do = trim($do); |
|
| 225 | - if ( |
|
| 226 | - !preg_match('/(DROP PRIMARY KEY|DROP KEY|DROP INDEX|DROP COLUMN|DROP' |
|
| 227 | - . '|CHANGE COLUMN|CHANGE|MODIFY|RENAME TO|RENAME' |
|
| 228 | - . '|ADD PRIMARY KEY|ADD KEY|ADD INDEX|ADD UNIQUE KEY|ADD UNIQUE' |
|
| 229 | - . '|ADD COLUMN|ADD' |
|
| 230 | - . ')\s*([^\s]*)\s*(.*)?/i', $do, $matches) |
|
| 231 | - ) { |
|
| 232 | - spip_log( |
|
| 233 | - "SQLite : Probleme de ALTER TABLE, utilisation non reconnue dans : $do \n(requete d'origine : $query)", |
|
| 234 | - 'sqlite.' . _LOG_ERREUR |
|
| 235 | - ); |
|
| 236 | - |
|
| 237 | - return false; |
|
| 238 | - } |
|
| 239 | - |
|
| 240 | - $cle = strtoupper($matches[1]); |
|
| 241 | - $colonne_origine = $matches[2]; |
|
| 242 | - $colonne_destination = ''; |
|
| 243 | - |
|
| 244 | - $def = $matches[3]; |
|
| 245 | - |
|
| 246 | - // eluder une eventuelle clause before|after|first inutilisable |
|
| 247 | - $defr = rtrim(preg_replace('/(BEFORE|AFTER|FIRST)(.*)$/is', '', $def)); |
|
| 248 | - $defo = $defr; // garder la def d'origine pour certains cas |
|
| 249 | - // remplacer les definitions venant de mysql |
|
| 250 | - $defr = _sqlite_remplacements_definitions_table($defr); |
|
| 251 | - |
|
| 252 | - // reinjecter dans le do |
|
| 253 | - $do = str_replace($def, $defr, $do); |
|
| 254 | - $def = $defr; |
|
| 255 | - |
|
| 256 | - switch ($cle) { |
|
| 257 | - // suppression d'un index |
|
| 258 | - case 'DROP KEY': |
|
| 259 | - case 'DROP INDEX': |
|
| 260 | - $nom_index = $colonne_origine; |
|
| 261 | - spip_sqlite_drop_index($nom_index, $table, $serveur); |
|
| 262 | - break; |
|
| 263 | - |
|
| 264 | - // suppression d'une pk |
|
| 265 | - case 'DROP PRIMARY KEY': |
|
| 266 | - if ( |
|
| 267 | - !_sqlite_modifier_table( |
|
| 268 | - $table, |
|
| 269 | - $colonne_origine, |
|
| 270 | - ['key' => ['PRIMARY KEY' => '']], |
|
| 271 | - $serveur |
|
| 272 | - ) |
|
| 273 | - ) { |
|
| 274 | - return false; |
|
| 275 | - } |
|
| 276 | - break; |
|
| 277 | - // suppression d'une colonne |
|
| 278 | - case 'DROP COLUMN': |
|
| 279 | - case 'DROP': |
|
| 280 | - if ( |
|
| 281 | - !_sqlite_modifier_table( |
|
| 282 | - $table, |
|
| 283 | - [$colonne_origine => ''], |
|
| 284 | - [], |
|
| 285 | - $serveur |
|
| 286 | - ) |
|
| 287 | - ) { |
|
| 288 | - return false; |
|
| 289 | - } |
|
| 290 | - break; |
|
| 291 | - |
|
| 292 | - case 'CHANGE COLUMN': |
|
| 293 | - case 'CHANGE': |
|
| 294 | - // recuperer le nom de la future colonne |
|
| 295 | - // on reprend la def d'origine car _sqlite_modifier_table va refaire la translation |
|
| 296 | - // en tenant compte de la cle primaire (ce qui est mieux) |
|
| 297 | - $def = trim($defo); |
|
| 298 | - $colonne_destination = substr($def, 0, strpos($def, ' ')); |
|
| 299 | - $def = substr($def, strlen($colonne_destination) + 1); |
|
| 300 | - |
|
| 301 | - if ( |
|
| 302 | - !_sqlite_modifier_table( |
|
| 303 | - $table, |
|
| 304 | - [$colonne_origine => $colonne_destination], |
|
| 305 | - ['field' => [$colonne_destination => $def]], |
|
| 306 | - $serveur |
|
| 307 | - ) |
|
| 308 | - ) { |
|
| 309 | - return false; |
|
| 310 | - } |
|
| 311 | - break; |
|
| 312 | - |
|
| 313 | - case 'MODIFY': |
|
| 314 | - // on reprend la def d'origine car _sqlite_modifier_table va refaire la translation |
|
| 315 | - // en tenant compte de la cle primaire (ce qui est mieux) |
|
| 316 | - if ( |
|
| 317 | - !_sqlite_modifier_table( |
|
| 318 | - $table, |
|
| 319 | - $colonne_origine, |
|
| 320 | - ['field' => [$colonne_origine => $defo]], |
|
| 321 | - $serveur |
|
| 322 | - ) |
|
| 323 | - ) { |
|
| 324 | - return false; |
|
| 325 | - } |
|
| 326 | - break; |
|
| 327 | - |
|
| 328 | - // pas geres en sqlite2 |
|
| 329 | - case 'RENAME': |
|
| 330 | - $do = 'RENAME TO' . substr($do, 6); |
|
| 331 | - case 'RENAME TO': |
|
| 332 | - if (!spip_sqlite::executer_requete("$debut $do", $serveur)) { |
|
| 333 | - spip_log("SQLite : Erreur ALTER TABLE / RENAME : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 334 | - |
|
| 335 | - return false; |
|
| 336 | - } |
|
| 337 | - break; |
|
| 338 | - |
|
| 339 | - // ajout d'une pk |
|
| 340 | - case 'ADD PRIMARY KEY': |
|
| 341 | - $pk = trim(substr($do, 16)); |
|
| 342 | - $pk = ($pk[0] == '(') ? substr($pk, 1, -1) : $pk; |
|
| 343 | - if ( |
|
| 344 | - !_sqlite_modifier_table( |
|
| 345 | - $table, |
|
| 346 | - $colonne_origine, |
|
| 347 | - ['key' => ['PRIMARY KEY' => $pk]], |
|
| 348 | - $serveur |
|
| 349 | - ) |
|
| 350 | - ) { |
|
| 351 | - return false; |
|
| 352 | - } |
|
| 353 | - break; |
|
| 354 | - // ajout d'un index |
|
| 355 | - case 'ADD UNIQUE KEY': |
|
| 356 | - case 'ADD UNIQUE': |
|
| 357 | - $unique = true; |
|
| 358 | - case 'ADD INDEX': |
|
| 359 | - case 'ADD KEY': |
|
| 360 | - if (!isset($unique)) { |
|
| 361 | - $unique = false; |
|
| 362 | - } |
|
| 363 | - // peut etre "(colonne)" ou "nom_index (colonnes)" |
|
| 364 | - // bug potentiel si qqn met "(colonne, colonne)" |
|
| 365 | - // |
|
| 366 | - // nom_index (colonnes) |
|
| 367 | - if ($def) { |
|
| 368 | - $colonnes = substr($def, 1, -1); |
|
| 369 | - $nom_index = $colonne_origine; |
|
| 370 | - } else { |
|
| 371 | - // (colonne) |
|
| 372 | - if ($colonne_origine[0] == '(') { |
|
| 373 | - $colonnes = substr($colonne_origine, 1, -1); |
|
| 374 | - if (false !== strpos(',', $colonnes)) { |
|
| 375 | - spip_log('SQLite : Erreur, impossible de creer un index sur plusieurs colonnes' |
|
| 376 | - . " sans qu'il ait de nom ($table, ($colonnes))", 'sqlite.' . _LOG_ERREUR); |
|
| 377 | - break; |
|
| 378 | - } else { |
|
| 379 | - $nom_index = $colonnes; |
|
| 380 | - } |
|
| 381 | - } // nom_index |
|
| 382 | - else { |
|
| 383 | - $nom_index = $colonnes = $colonne_origine; |
|
| 384 | - } |
|
| 385 | - } |
|
| 386 | - spip_sqlite_create_index($nom_index, $table, $colonnes, $unique, $serveur); |
|
| 387 | - break; |
|
| 388 | - |
|
| 389 | - // pas geres en sqlite2 |
|
| 390 | - case 'ADD COLUMN': |
|
| 391 | - $do = 'ADD' . substr($do, 10); |
|
| 392 | - case 'ADD': |
|
| 393 | - default: |
|
| 394 | - if (!preg_match(',primary\s+key,i', $do)) { |
|
| 395 | - if (!spip_sqlite::executer_requete("$debut $do", $serveur)) { |
|
| 396 | - spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 397 | - |
|
| 398 | - return false; |
|
| 399 | - } |
|
| 400 | - break; |
|
| 401 | - } |
|
| 402 | - // ou si la colonne est aussi primary key |
|
| 403 | - // cas du add id_truc int primary key |
|
| 404 | - // ajout d'une colonne qui passe en primary key directe |
|
| 405 | - else { |
|
| 406 | - $def = trim(substr($do, 3)); |
|
| 407 | - $colonne_ajoutee = substr($def, 0, strpos($def, ' ')); |
|
| 408 | - $def = substr($def, strlen($colonne_ajoutee) + 1); |
|
| 409 | - $opts = []; |
|
| 410 | - if (preg_match(',primary\s+key,i', $def)) { |
|
| 411 | - $opts['key'] = ['PRIMARY KEY' => $colonne_ajoutee]; |
|
| 412 | - $def = preg_replace(',primary\s+key,i', '', $def); |
|
| 413 | - } |
|
| 414 | - $opts['field'] = [$colonne_ajoutee => $def]; |
|
| 415 | - if (!_sqlite_modifier_table($table, [$colonne_ajoutee], $opts, $serveur)) { |
|
| 416 | - spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 417 | - |
|
| 418 | - return false; |
|
| 419 | - } |
|
| 420 | - } |
|
| 421 | - break; |
|
| 422 | - } |
|
| 423 | - // tout est bon, ouf ! |
|
| 424 | - spip_log("SQLite ($serveur) : Changements OK : $debut $do", 'sqlite.' . _LOG_INFO); |
|
| 425 | - } |
|
| 426 | - |
|
| 427 | - spip_log("SQLite ($serveur) : fin ALTER TABLE OK !", 'sqlite.' . _LOG_INFO); |
|
| 428 | - |
|
| 429 | - return true; |
|
| 185 | + // 1 |
|
| 186 | + if (preg_match('/\s*(ALTER(\s*IGNORE)?\s*TABLE\s*([^\s]*))\s*(.*)?/is', $query, $regs)) { |
|
| 187 | + $debut = $regs[1]; |
|
| 188 | + $table = $regs[3]; |
|
| 189 | + $suite = $regs[4]; |
|
| 190 | + } else { |
|
| 191 | + spip_log("SQLite : Probleme de ALTER TABLE mal forme dans $query", 'sqlite.' . _LOG_ERREUR); |
|
| 192 | + |
|
| 193 | + return false; |
|
| 194 | + } |
|
| 195 | + |
|
| 196 | + // 2 |
|
| 197 | + // il faudrait une regexp pour eviter de spliter ADD PRIMARY KEY (colA, colB) |
|
| 198 | + // tout en cassant "ADD PRIMARY KEY (colA, colB), ADD INDEX (chose)"... en deux |
|
| 199 | + // ou revoir l'api de sql_alter en creant un |
|
| 200 | + // sql_alter_table($table,array($actions)); |
|
| 201 | + $todo = explode(',', $suite); |
|
| 202 | + |
|
| 203 | + // on remet les morceaux dechires ensembles... que c'est laid ! |
|
| 204 | + $todo2 = []; |
|
| 205 | + $i = 0; |
|
| 206 | + $ouverte = false; |
|
| 207 | + while ($do = array_shift($todo)) { |
|
| 208 | + $todo2[$i] = isset($todo2[$i]) ? $todo2[$i] . ',' . $do : $do; |
|
| 209 | + $o = (false !== strpos($do, '(')); |
|
| 210 | + $f = (false !== strpos($do, ')')); |
|
| 211 | + if ($o and !$f) { |
|
| 212 | + $ouverte = true; |
|
| 213 | + } elseif ($f) { |
|
| 214 | + $ouverte = false; |
|
| 215 | + } |
|
| 216 | + if (!$ouverte) { |
|
| 217 | + $i++; |
|
| 218 | + } |
|
| 219 | + } |
|
| 220 | + |
|
| 221 | + // 3 |
|
| 222 | + $resultats = []; |
|
| 223 | + foreach ($todo2 as $do) { |
|
| 224 | + $do = trim($do); |
|
| 225 | + if ( |
|
| 226 | + !preg_match('/(DROP PRIMARY KEY|DROP KEY|DROP INDEX|DROP COLUMN|DROP' |
|
| 227 | + . '|CHANGE COLUMN|CHANGE|MODIFY|RENAME TO|RENAME' |
|
| 228 | + . '|ADD PRIMARY KEY|ADD KEY|ADD INDEX|ADD UNIQUE KEY|ADD UNIQUE' |
|
| 229 | + . '|ADD COLUMN|ADD' |
|
| 230 | + . ')\s*([^\s]*)\s*(.*)?/i', $do, $matches) |
|
| 231 | + ) { |
|
| 232 | + spip_log( |
|
| 233 | + "SQLite : Probleme de ALTER TABLE, utilisation non reconnue dans : $do \n(requete d'origine : $query)", |
|
| 234 | + 'sqlite.' . _LOG_ERREUR |
|
| 235 | + ); |
|
| 236 | + |
|
| 237 | + return false; |
|
| 238 | + } |
|
| 239 | + |
|
| 240 | + $cle = strtoupper($matches[1]); |
|
| 241 | + $colonne_origine = $matches[2]; |
|
| 242 | + $colonne_destination = ''; |
|
| 243 | + |
|
| 244 | + $def = $matches[3]; |
|
| 245 | + |
|
| 246 | + // eluder une eventuelle clause before|after|first inutilisable |
|
| 247 | + $defr = rtrim(preg_replace('/(BEFORE|AFTER|FIRST)(.*)$/is', '', $def)); |
|
| 248 | + $defo = $defr; // garder la def d'origine pour certains cas |
|
| 249 | + // remplacer les definitions venant de mysql |
|
| 250 | + $defr = _sqlite_remplacements_definitions_table($defr); |
|
| 251 | + |
|
| 252 | + // reinjecter dans le do |
|
| 253 | + $do = str_replace($def, $defr, $do); |
|
| 254 | + $def = $defr; |
|
| 255 | + |
|
| 256 | + switch ($cle) { |
|
| 257 | + // suppression d'un index |
|
| 258 | + case 'DROP KEY': |
|
| 259 | + case 'DROP INDEX': |
|
| 260 | + $nom_index = $colonne_origine; |
|
| 261 | + spip_sqlite_drop_index($nom_index, $table, $serveur); |
|
| 262 | + break; |
|
| 263 | + |
|
| 264 | + // suppression d'une pk |
|
| 265 | + case 'DROP PRIMARY KEY': |
|
| 266 | + if ( |
|
| 267 | + !_sqlite_modifier_table( |
|
| 268 | + $table, |
|
| 269 | + $colonne_origine, |
|
| 270 | + ['key' => ['PRIMARY KEY' => '']], |
|
| 271 | + $serveur |
|
| 272 | + ) |
|
| 273 | + ) { |
|
| 274 | + return false; |
|
| 275 | + } |
|
| 276 | + break; |
|
| 277 | + // suppression d'une colonne |
|
| 278 | + case 'DROP COLUMN': |
|
| 279 | + case 'DROP': |
|
| 280 | + if ( |
|
| 281 | + !_sqlite_modifier_table( |
|
| 282 | + $table, |
|
| 283 | + [$colonne_origine => ''], |
|
| 284 | + [], |
|
| 285 | + $serveur |
|
| 286 | + ) |
|
| 287 | + ) { |
|
| 288 | + return false; |
|
| 289 | + } |
|
| 290 | + break; |
|
| 291 | + |
|
| 292 | + case 'CHANGE COLUMN': |
|
| 293 | + case 'CHANGE': |
|
| 294 | + // recuperer le nom de la future colonne |
|
| 295 | + // on reprend la def d'origine car _sqlite_modifier_table va refaire la translation |
|
| 296 | + // en tenant compte de la cle primaire (ce qui est mieux) |
|
| 297 | + $def = trim($defo); |
|
| 298 | + $colonne_destination = substr($def, 0, strpos($def, ' ')); |
|
| 299 | + $def = substr($def, strlen($colonne_destination) + 1); |
|
| 300 | + |
|
| 301 | + if ( |
|
| 302 | + !_sqlite_modifier_table( |
|
| 303 | + $table, |
|
| 304 | + [$colonne_origine => $colonne_destination], |
|
| 305 | + ['field' => [$colonne_destination => $def]], |
|
| 306 | + $serveur |
|
| 307 | + ) |
|
| 308 | + ) { |
|
| 309 | + return false; |
|
| 310 | + } |
|
| 311 | + break; |
|
| 312 | + |
|
| 313 | + case 'MODIFY': |
|
| 314 | + // on reprend la def d'origine car _sqlite_modifier_table va refaire la translation |
|
| 315 | + // en tenant compte de la cle primaire (ce qui est mieux) |
|
| 316 | + if ( |
|
| 317 | + !_sqlite_modifier_table( |
|
| 318 | + $table, |
|
| 319 | + $colonne_origine, |
|
| 320 | + ['field' => [$colonne_origine => $defo]], |
|
| 321 | + $serveur |
|
| 322 | + ) |
|
| 323 | + ) { |
|
| 324 | + return false; |
|
| 325 | + } |
|
| 326 | + break; |
|
| 327 | + |
|
| 328 | + // pas geres en sqlite2 |
|
| 329 | + case 'RENAME': |
|
| 330 | + $do = 'RENAME TO' . substr($do, 6); |
|
| 331 | + case 'RENAME TO': |
|
| 332 | + if (!spip_sqlite::executer_requete("$debut $do", $serveur)) { |
|
| 333 | + spip_log("SQLite : Erreur ALTER TABLE / RENAME : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 334 | + |
|
| 335 | + return false; |
|
| 336 | + } |
|
| 337 | + break; |
|
| 338 | + |
|
| 339 | + // ajout d'une pk |
|
| 340 | + case 'ADD PRIMARY KEY': |
|
| 341 | + $pk = trim(substr($do, 16)); |
|
| 342 | + $pk = ($pk[0] == '(') ? substr($pk, 1, -1) : $pk; |
|
| 343 | + if ( |
|
| 344 | + !_sqlite_modifier_table( |
|
| 345 | + $table, |
|
| 346 | + $colonne_origine, |
|
| 347 | + ['key' => ['PRIMARY KEY' => $pk]], |
|
| 348 | + $serveur |
|
| 349 | + ) |
|
| 350 | + ) { |
|
| 351 | + return false; |
|
| 352 | + } |
|
| 353 | + break; |
|
| 354 | + // ajout d'un index |
|
| 355 | + case 'ADD UNIQUE KEY': |
|
| 356 | + case 'ADD UNIQUE': |
|
| 357 | + $unique = true; |
|
| 358 | + case 'ADD INDEX': |
|
| 359 | + case 'ADD KEY': |
|
| 360 | + if (!isset($unique)) { |
|
| 361 | + $unique = false; |
|
| 362 | + } |
|
| 363 | + // peut etre "(colonne)" ou "nom_index (colonnes)" |
|
| 364 | + // bug potentiel si qqn met "(colonne, colonne)" |
|
| 365 | + // |
|
| 366 | + // nom_index (colonnes) |
|
| 367 | + if ($def) { |
|
| 368 | + $colonnes = substr($def, 1, -1); |
|
| 369 | + $nom_index = $colonne_origine; |
|
| 370 | + } else { |
|
| 371 | + // (colonne) |
|
| 372 | + if ($colonne_origine[0] == '(') { |
|
| 373 | + $colonnes = substr($colonne_origine, 1, -1); |
|
| 374 | + if (false !== strpos(',', $colonnes)) { |
|
| 375 | + spip_log('SQLite : Erreur, impossible de creer un index sur plusieurs colonnes' |
|
| 376 | + . " sans qu'il ait de nom ($table, ($colonnes))", 'sqlite.' . _LOG_ERREUR); |
|
| 377 | + break; |
|
| 378 | + } else { |
|
| 379 | + $nom_index = $colonnes; |
|
| 380 | + } |
|
| 381 | + } // nom_index |
|
| 382 | + else { |
|
| 383 | + $nom_index = $colonnes = $colonne_origine; |
|
| 384 | + } |
|
| 385 | + } |
|
| 386 | + spip_sqlite_create_index($nom_index, $table, $colonnes, $unique, $serveur); |
|
| 387 | + break; |
|
| 388 | + |
|
| 389 | + // pas geres en sqlite2 |
|
| 390 | + case 'ADD COLUMN': |
|
| 391 | + $do = 'ADD' . substr($do, 10); |
|
| 392 | + case 'ADD': |
|
| 393 | + default: |
|
| 394 | + if (!preg_match(',primary\s+key,i', $do)) { |
|
| 395 | + if (!spip_sqlite::executer_requete("$debut $do", $serveur)) { |
|
| 396 | + spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 397 | + |
|
| 398 | + return false; |
|
| 399 | + } |
|
| 400 | + break; |
|
| 401 | + } |
|
| 402 | + // ou si la colonne est aussi primary key |
|
| 403 | + // cas du add id_truc int primary key |
|
| 404 | + // ajout d'une colonne qui passe en primary key directe |
|
| 405 | + else { |
|
| 406 | + $def = trim(substr($do, 3)); |
|
| 407 | + $colonne_ajoutee = substr($def, 0, strpos($def, ' ')); |
|
| 408 | + $def = substr($def, strlen($colonne_ajoutee) + 1); |
|
| 409 | + $opts = []; |
|
| 410 | + if (preg_match(',primary\s+key,i', $def)) { |
|
| 411 | + $opts['key'] = ['PRIMARY KEY' => $colonne_ajoutee]; |
|
| 412 | + $def = preg_replace(',primary\s+key,i', '', $def); |
|
| 413 | + } |
|
| 414 | + $opts['field'] = [$colonne_ajoutee => $def]; |
|
| 415 | + if (!_sqlite_modifier_table($table, [$colonne_ajoutee], $opts, $serveur)) { |
|
| 416 | + spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 417 | + |
|
| 418 | + return false; |
|
| 419 | + } |
|
| 420 | + } |
|
| 421 | + break; |
|
| 422 | + } |
|
| 423 | + // tout est bon, ouf ! |
|
| 424 | + spip_log("SQLite ($serveur) : Changements OK : $debut $do", 'sqlite.' . _LOG_INFO); |
|
| 425 | + } |
|
| 426 | + |
|
| 427 | + spip_log("SQLite ($serveur) : fin ALTER TABLE OK !", 'sqlite.' . _LOG_INFO); |
|
| 428 | + |
|
| 429 | + return true; |
|
| 430 | 430 | } |
| 431 | 431 | |
| 432 | 432 | |
@@ -449,38 +449,38 @@ discard block |
||
| 449 | 449 | * - true si la requête réussie, false sinon. |
| 450 | 450 | */ |
| 451 | 451 | function spip_sqlite_create( |
| 452 | - $nom, |
|
| 453 | - $champs, |
|
| 454 | - $cles, |
|
| 455 | - $autoinc = false, |
|
| 456 | - $temporary = false, |
|
| 457 | - $serveur = '', |
|
| 458 | - $requeter = true |
|
| 452 | + $nom, |
|
| 453 | + $champs, |
|
| 454 | + $cles, |
|
| 455 | + $autoinc = false, |
|
| 456 | + $temporary = false, |
|
| 457 | + $serveur = '', |
|
| 458 | + $requeter = true |
|
| 459 | 459 | ) { |
| 460 | - $query = _sqlite_requete_create($nom, $champs, $cles, $autoinc, $temporary, $ifnotexists = true, $serveur, $requeter); |
|
| 461 | - if (!$query) { |
|
| 462 | - return false; |
|
| 463 | - } |
|
| 464 | - $res = spip_sqlite_query($query, $serveur, $requeter); |
|
| 465 | - |
|
| 466 | - // SQLite ne cree pas les KEY sur les requetes CREATE TABLE |
|
| 467 | - // il faut donc les faire creer ensuite |
|
| 468 | - if (!$requeter) { |
|
| 469 | - return $res; |
|
| 470 | - } |
|
| 471 | - |
|
| 472 | - $ok = $res ? true : false; |
|
| 473 | - if ($ok) { |
|
| 474 | - foreach ($cles as $k => $v) { |
|
| 475 | - if (preg_match(',^(UNIQUE KEY|KEY|UNIQUE)\s,i', $k, $m)) { |
|
| 476 | - $index = trim(substr($k, strlen($m[1]))); |
|
| 477 | - $unique = (strlen($m[1]) > 3); |
|
| 478 | - $ok &= spip_sqlite_create_index($index, $nom, $v, $unique, $serveur); |
|
| 479 | - } |
|
| 480 | - } |
|
| 481 | - } |
|
| 482 | - |
|
| 483 | - return $ok ? true : false; |
|
| 460 | + $query = _sqlite_requete_create($nom, $champs, $cles, $autoinc, $temporary, $ifnotexists = true, $serveur, $requeter); |
|
| 461 | + if (!$query) { |
|
| 462 | + return false; |
|
| 463 | + } |
|
| 464 | + $res = spip_sqlite_query($query, $serveur, $requeter); |
|
| 465 | + |
|
| 466 | + // SQLite ne cree pas les KEY sur les requetes CREATE TABLE |
|
| 467 | + // il faut donc les faire creer ensuite |
|
| 468 | + if (!$requeter) { |
|
| 469 | + return $res; |
|
| 470 | + } |
|
| 471 | + |
|
| 472 | + $ok = $res ? true : false; |
|
| 473 | + if ($ok) { |
|
| 474 | + foreach ($cles as $k => $v) { |
|
| 475 | + if (preg_match(',^(UNIQUE KEY|KEY|UNIQUE)\s,i', $k, $m)) { |
|
| 476 | + $index = trim(substr($k, strlen($m[1]))); |
|
| 477 | + $unique = (strlen($m[1]) > 3); |
|
| 478 | + $ok &= spip_sqlite_create_index($index, $nom, $v, $unique, $serveur); |
|
| 479 | + } |
|
| 480 | + } |
|
| 481 | + } |
|
| 482 | + |
|
| 483 | + return $ok ? true : false; |
|
| 484 | 484 | } |
| 485 | 485 | |
| 486 | 486 | /** |
@@ -493,21 +493,21 @@ discard block |
||
| 493 | 493 | * @return bool true si la base est créee. |
| 494 | 494 | **/ |
| 495 | 495 | function spip_sqlite_create_base($nom, $serveur = '', $option = true) { |
| 496 | - $f = $nom . '.sqlite'; |
|
| 497 | - if (strpos($nom, '/') === false) { |
|
| 498 | - $f = _DIR_DB . $f; |
|
| 499 | - } |
|
| 496 | + $f = $nom . '.sqlite'; |
|
| 497 | + if (strpos($nom, '/') === false) { |
|
| 498 | + $f = _DIR_DB . $f; |
|
| 499 | + } |
|
| 500 | 500 | |
| 501 | - $ok = new \PDO("sqlite:$f"); |
|
| 501 | + $ok = new \PDO("sqlite:$f"); |
|
| 502 | 502 | |
| 503 | - if ($ok) { |
|
| 504 | - unset($ok); |
|
| 503 | + if ($ok) { |
|
| 504 | + unset($ok); |
|
| 505 | 505 | |
| 506 | - return true; |
|
| 507 | - } |
|
| 508 | - unset($ok); |
|
| 506 | + return true; |
|
| 507 | + } |
|
| 508 | + unset($ok); |
|
| 509 | 509 | |
| 510 | - return false; |
|
| 510 | + return false; |
|
| 511 | 511 | } |
| 512 | 512 | |
| 513 | 513 | |
@@ -528,22 +528,22 @@ discard block |
||
| 528 | 528 | * - string texte de la requête si $requeter vaut false |
| 529 | 529 | */ |
| 530 | 530 | function spip_sqlite_create_view($nom, $query_select, $serveur = '', $requeter = true) { |
| 531 | - if (!$query_select) { |
|
| 532 | - return false; |
|
| 533 | - } |
|
| 534 | - // vue deja presente |
|
| 535 | - if (sql_showtable($nom, false, $serveur)) { |
|
| 536 | - spip_log( |
|
| 537 | - "Echec creation d'une vue sql ($nom) car celle-ci existe deja (serveur:$serveur)", |
|
| 538 | - 'sqlite.' . _LOG_ERREUR |
|
| 539 | - ); |
|
| 531 | + if (!$query_select) { |
|
| 532 | + return false; |
|
| 533 | + } |
|
| 534 | + // vue deja presente |
|
| 535 | + if (sql_showtable($nom, false, $serveur)) { |
|
| 536 | + spip_log( |
|
| 537 | + "Echec creation d'une vue sql ($nom) car celle-ci existe deja (serveur:$serveur)", |
|
| 538 | + 'sqlite.' . _LOG_ERREUR |
|
| 539 | + ); |
|
| 540 | 540 | |
| 541 | - return false; |
|
| 542 | - } |
|
| 541 | + return false; |
|
| 542 | + } |
|
| 543 | 543 | |
| 544 | - $query = "CREATE VIEW $nom AS " . $query_select; |
|
| 544 | + $query = "CREATE VIEW $nom AS " . $query_select; |
|
| 545 | 545 | |
| 546 | - return spip_sqlite_query($query, $serveur, $requeter); |
|
| 546 | + return spip_sqlite_query($query, $serveur, $requeter); |
|
| 547 | 547 | } |
| 548 | 548 | |
| 549 | 549 | /** |
@@ -565,54 +565,54 @@ discard block |
||
| 565 | 565 | * string : requête, false si erreur, true sinon. |
| 566 | 566 | */ |
| 567 | 567 | function spip_sqlite_create_index($nom, $table, $champs, $unique = '', $serveur = '', $requeter = true) { |
| 568 | - if (!($nom or $table or $champs)) { |
|
| 569 | - spip_log( |
|
| 570 | - "Champ manquant pour creer un index sqlite ($nom, $table, (" . join(',', $champs) . '))', |
|
| 571 | - 'sqlite.' . _LOG_ERREUR |
|
| 572 | - ); |
|
| 573 | - |
|
| 574 | - return false; |
|
| 575 | - } |
|
| 576 | - |
|
| 577 | - // SQLite ne differentie pas noms des index en fonction des tables |
|
| 578 | - // il faut donc creer des noms uniques d'index pour une base sqlite |
|
| 579 | - $nom = $table . '_' . $nom; |
|
| 580 | - // enlever d'eventuelles parentheses deja presentes sur champs |
|
| 581 | - if (!is_array($champs)) { |
|
| 582 | - if ($champs[0] == '(') { |
|
| 583 | - $champs = substr($champs, 1, -1); |
|
| 584 | - } |
|
| 585 | - $champs = [$champs]; |
|
| 586 | - // supprimer l'info de longueur d'index mysql en fin de champ |
|
| 587 | - $champs = preg_replace(',\(\d+\)$,', '', $champs); |
|
| 588 | - } |
|
| 589 | - |
|
| 590 | - $ifnotexists = ''; |
|
| 591 | - $version = spip_sqlite_fetch(spip_sqlite_query('select sqlite_version() AS sqlite_version', $serveur), '', $serveur); |
|
| 592 | - if (!function_exists('spip_version_compare')) { |
|
| 593 | - include_spip('plugins/installer'); |
|
| 594 | - } |
|
| 595 | - |
|
| 596 | - if ($version and spip_version_compare($version['sqlite_version'], '3.3.0', '>=')) { |
|
| 597 | - $ifnotexists = ' IF NOT EXISTS'; |
|
| 598 | - } else { |
|
| 599 | - /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */ |
|
| 600 | - $a = spip_sqlite_showtable($table, $serveur); |
|
| 601 | - if (isset($a['key']['KEY ' . $nom])) { |
|
| 602 | - return true; |
|
| 603 | - } |
|
| 604 | - } |
|
| 605 | - |
|
| 606 | - $query = 'CREATE ' . ($unique ? 'UNIQUE ' : '') . "INDEX$ifnotexists $nom ON $table (" . join(',', $champs) . ')'; |
|
| 607 | - $res = spip_sqlite_query($query, $serveur, $requeter); |
|
| 608 | - if (!$requeter) { |
|
| 609 | - return $res; |
|
| 610 | - } |
|
| 611 | - if ($res) { |
|
| 612 | - return true; |
|
| 613 | - } else { |
|
| 614 | - return false; |
|
| 615 | - } |
|
| 568 | + if (!($nom or $table or $champs)) { |
|
| 569 | + spip_log( |
|
| 570 | + "Champ manquant pour creer un index sqlite ($nom, $table, (" . join(',', $champs) . '))', |
|
| 571 | + 'sqlite.' . _LOG_ERREUR |
|
| 572 | + ); |
|
| 573 | + |
|
| 574 | + return false; |
|
| 575 | + } |
|
| 576 | + |
|
| 577 | + // SQLite ne differentie pas noms des index en fonction des tables |
|
| 578 | + // il faut donc creer des noms uniques d'index pour une base sqlite |
|
| 579 | + $nom = $table . '_' . $nom; |
|
| 580 | + // enlever d'eventuelles parentheses deja presentes sur champs |
|
| 581 | + if (!is_array($champs)) { |
|
| 582 | + if ($champs[0] == '(') { |
|
| 583 | + $champs = substr($champs, 1, -1); |
|
| 584 | + } |
|
| 585 | + $champs = [$champs]; |
|
| 586 | + // supprimer l'info de longueur d'index mysql en fin de champ |
|
| 587 | + $champs = preg_replace(',\(\d+\)$,', '', $champs); |
|
| 588 | + } |
|
| 589 | + |
|
| 590 | + $ifnotexists = ''; |
|
| 591 | + $version = spip_sqlite_fetch(spip_sqlite_query('select sqlite_version() AS sqlite_version', $serveur), '', $serveur); |
|
| 592 | + if (!function_exists('spip_version_compare')) { |
|
| 593 | + include_spip('plugins/installer'); |
|
| 594 | + } |
|
| 595 | + |
|
| 596 | + if ($version and spip_version_compare($version['sqlite_version'], '3.3.0', '>=')) { |
|
| 597 | + $ifnotexists = ' IF NOT EXISTS'; |
|
| 598 | + } else { |
|
| 599 | + /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */ |
|
| 600 | + $a = spip_sqlite_showtable($table, $serveur); |
|
| 601 | + if (isset($a['key']['KEY ' . $nom])) { |
|
| 602 | + return true; |
|
| 603 | + } |
|
| 604 | + } |
|
| 605 | + |
|
| 606 | + $query = 'CREATE ' . ($unique ? 'UNIQUE ' : '') . "INDEX$ifnotexists $nom ON $table (" . join(',', $champs) . ')'; |
|
| 607 | + $res = spip_sqlite_query($query, $serveur, $requeter); |
|
| 608 | + if (!$requeter) { |
|
| 609 | + return $res; |
|
| 610 | + } |
|
| 611 | + if ($res) { |
|
| 612 | + return true; |
|
| 613 | + } else { |
|
| 614 | + return false; |
|
| 615 | + } |
|
| 616 | 616 | } |
| 617 | 617 | |
| 618 | 618 | /** |
@@ -629,31 +629,31 @@ discard block |
||
| 629 | 629 | * @return int Nombre de lignes |
| 630 | 630 | */ |
| 631 | 631 | function spip_sqlite_count($r, $serveur = '', $requeter = true) { |
| 632 | - if (!$r) { |
|
| 633 | - return 0; |
|
| 634 | - } |
|
| 635 | - |
|
| 636 | - // select ou autre (insert, update,...) ? |
|
| 637 | - // (link,requete) a compter |
|
| 638 | - if (is_array($r->spipSqliteRowCount)) { |
|
| 639 | - list($link, $query) = $r->spipSqliteRowCount; |
|
| 640 | - // amelioration possible a tester intensivement : pas de order by pour compter ! |
|
| 641 | - // $query = preg_replace(",ORDER BY .+(LIMIT\s|HAVING\s|GROUP BY\s|$),Uims","\\1",$query); |
|
| 642 | - $query = "SELECT count(*) as zzzzsqlitecount FROM ($query)"; |
|
| 643 | - $l = $link->query($query); |
|
| 644 | - $i = 0; |
|
| 645 | - if ($l and $z = $l->fetch()) { |
|
| 646 | - $i = $z['zzzzsqlitecount']; |
|
| 647 | - } |
|
| 648 | - $r->spipSqliteRowCount = $i; |
|
| 649 | - } |
|
| 650 | - if (isset($r->spipSqliteRowCount)) { |
|
| 651 | - // Ce compte est faux s'il y a des limit dans la requete :( |
|
| 652 | - // il retourne le nombre d'enregistrements sans le limit |
|
| 653 | - return $r->spipSqliteRowCount; |
|
| 654 | - } else { |
|
| 655 | - return $r->rowCount(); |
|
| 656 | - } |
|
| 632 | + if (!$r) { |
|
| 633 | + return 0; |
|
| 634 | + } |
|
| 635 | + |
|
| 636 | + // select ou autre (insert, update,...) ? |
|
| 637 | + // (link,requete) a compter |
|
| 638 | + if (is_array($r->spipSqliteRowCount)) { |
|
| 639 | + list($link, $query) = $r->spipSqliteRowCount; |
|
| 640 | + // amelioration possible a tester intensivement : pas de order by pour compter ! |
|
| 641 | + // $query = preg_replace(",ORDER BY .+(LIMIT\s|HAVING\s|GROUP BY\s|$),Uims","\\1",$query); |
|
| 642 | + $query = "SELECT count(*) as zzzzsqlitecount FROM ($query)"; |
|
| 643 | + $l = $link->query($query); |
|
| 644 | + $i = 0; |
|
| 645 | + if ($l and $z = $l->fetch()) { |
|
| 646 | + $i = $z['zzzzsqlitecount']; |
|
| 647 | + } |
|
| 648 | + $r->spipSqliteRowCount = $i; |
|
| 649 | + } |
|
| 650 | + if (isset($r->spipSqliteRowCount)) { |
|
| 651 | + // Ce compte est faux s'il y a des limit dans la requete :( |
|
| 652 | + // il retourne le nombre d'enregistrements sans le limit |
|
| 653 | + return $r->spipSqliteRowCount; |
|
| 654 | + } else { |
|
| 655 | + return $r->rowCount(); |
|
| 656 | + } |
|
| 657 | 657 | } |
| 658 | 658 | |
| 659 | 659 | |
@@ -672,30 +672,30 @@ discard block |
||
| 672 | 672 | * - false si la requête a échouée |
| 673 | 673 | **/ |
| 674 | 674 | function spip_sqlite_countsel( |
| 675 | - $from = [], |
|
| 676 | - $where = [], |
|
| 677 | - $groupby = '', |
|
| 678 | - $having = [], |
|
| 679 | - $serveur = '', |
|
| 680 | - $requeter = true |
|
| 675 | + $from = [], |
|
| 676 | + $where = [], |
|
| 677 | + $groupby = '', |
|
| 678 | + $having = [], |
|
| 679 | + $serveur = '', |
|
| 680 | + $requeter = true |
|
| 681 | 681 | ) { |
| 682 | - $c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby))); |
|
| 683 | - $r = spip_sqlite_select( |
|
| 684 | - "COUNT($c)", |
|
| 685 | - $from, |
|
| 686 | - $where, |
|
| 687 | - '', |
|
| 688 | - '', |
|
| 689 | - '', |
|
| 690 | - $having, |
|
| 691 | - $serveur, |
|
| 692 | - $requeter |
|
| 693 | - ); |
|
| 694 | - if ((is_resource($r) or is_object($r)) && $requeter) { // ressource : sqlite2, object : sqlite3 |
|
| 695 | - list($r) = spip_sqlite_fetch($r, SPIP_SQLITE3_NUM, $serveur); |
|
| 696 | - } |
|
| 697 | - |
|
| 698 | - return $r; |
|
| 682 | + $c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby))); |
|
| 683 | + $r = spip_sqlite_select( |
|
| 684 | + "COUNT($c)", |
|
| 685 | + $from, |
|
| 686 | + $where, |
|
| 687 | + '', |
|
| 688 | + '', |
|
| 689 | + '', |
|
| 690 | + $having, |
|
| 691 | + $serveur, |
|
| 692 | + $requeter |
|
| 693 | + ); |
|
| 694 | + if ((is_resource($r) or is_object($r)) && $requeter) { // ressource : sqlite2, object : sqlite3 |
|
| 695 | + list($r) = spip_sqlite_fetch($r, SPIP_SQLITE3_NUM, $serveur); |
|
| 696 | + } |
|
| 697 | + |
|
| 698 | + return $r; |
|
| 699 | 699 | } |
| 700 | 700 | |
| 701 | 701 | |
@@ -712,24 +712,24 @@ discard block |
||
| 712 | 712 | * - False en cas d'erreur. |
| 713 | 713 | **/ |
| 714 | 714 | function spip_sqlite_delete($table, $where = '', $serveur = '', $requeter = true) { |
| 715 | - $res = spip_sqlite_query( |
|
| 716 | - _sqlite_calculer_expression('DELETE FROM', $table, ',') |
|
| 717 | - . _sqlite_calculer_expression('WHERE', $where), |
|
| 718 | - $serveur, |
|
| 719 | - $requeter |
|
| 720 | - ); |
|
| 715 | + $res = spip_sqlite_query( |
|
| 716 | + _sqlite_calculer_expression('DELETE FROM', $table, ',') |
|
| 717 | + . _sqlite_calculer_expression('WHERE', $where), |
|
| 718 | + $serveur, |
|
| 719 | + $requeter |
|
| 720 | + ); |
|
| 721 | 721 | |
| 722 | - // renvoyer la requete inerte si demandee |
|
| 723 | - if (!$requeter) { |
|
| 724 | - return $res; |
|
| 725 | - } |
|
| 722 | + // renvoyer la requete inerte si demandee |
|
| 723 | + if (!$requeter) { |
|
| 724 | + return $res; |
|
| 725 | + } |
|
| 726 | 726 | |
| 727 | - if ($res) { |
|
| 728 | - $link = _sqlite_link($serveur); |
|
| 729 | - return $res->rowCount(); |
|
| 730 | - } else { |
|
| 731 | - return false; |
|
| 732 | - } |
|
| 727 | + if ($res) { |
|
| 728 | + $link = _sqlite_link($serveur); |
|
| 729 | + return $res->rowCount(); |
|
| 730 | + } else { |
|
| 731 | + return false; |
|
| 732 | + } |
|
| 733 | 733 | } |
| 734 | 734 | |
| 735 | 735 | |
@@ -745,15 +745,15 @@ discard block |
||
| 745 | 745 | * - true si la requête a réussie, false sinon |
| 746 | 746 | */ |
| 747 | 747 | function spip_sqlite_drop_table($table, $exist = '', $serveur = '', $requeter = true) { |
| 748 | - if ($exist) { |
|
| 749 | - $exist = ' IF EXISTS'; |
|
| 750 | - } |
|
| 748 | + if ($exist) { |
|
| 749 | + $exist = ' IF EXISTS'; |
|
| 750 | + } |
|
| 751 | 751 | |
| 752 | - if (spip_sqlite_query("DROP TABLE$exist $table", $serveur, $requeter)) { |
|
| 753 | - return true; |
|
| 754 | - } else { |
|
| 755 | - return false; |
|
| 756 | - } |
|
| 752 | + if (spip_sqlite_query("DROP TABLE$exist $table", $serveur, $requeter)) { |
|
| 753 | + return true; |
|
| 754 | + } else { |
|
| 755 | + return false; |
|
| 756 | + } |
|
| 757 | 757 | } |
| 758 | 758 | |
| 759 | 759 | |
@@ -769,11 +769,11 @@ discard block |
||
| 769 | 769 | * - true si la requête a réussie, false sinon |
| 770 | 770 | */ |
| 771 | 771 | function spip_sqlite_drop_view($view, $exist = '', $serveur = '', $requeter = true) { |
| 772 | - if ($exist) { |
|
| 773 | - $exist = ' IF EXISTS'; |
|
| 774 | - } |
|
| 772 | + if ($exist) { |
|
| 773 | + $exist = ' IF EXISTS'; |
|
| 774 | + } |
|
| 775 | 775 | |
| 776 | - return spip_sqlite_query("DROP VIEW$exist $view", $serveur, $requeter); |
|
| 776 | + return spip_sqlite_query("DROP VIEW$exist $view", $serveur, $requeter); |
|
| 777 | 777 | } |
| 778 | 778 | |
| 779 | 779 | /** |
@@ -787,20 +787,20 @@ discard block |
||
| 787 | 787 | * @return bool ou requete |
| 788 | 788 | */ |
| 789 | 789 | function spip_sqlite_drop_index($nom, $table, $serveur = '', $requeter = true) { |
| 790 | - if (!($nom or $table)) { |
|
| 791 | - spip_log("Champ manquant pour supprimer un index sqlite ($nom, $table)", 'sqlite.' . _LOG_ERREUR); |
|
| 790 | + if (!($nom or $table)) { |
|
| 791 | + spip_log("Champ manquant pour supprimer un index sqlite ($nom, $table)", 'sqlite.' . _LOG_ERREUR); |
|
| 792 | 792 | |
| 793 | - return false; |
|
| 794 | - } |
|
| 793 | + return false; |
|
| 794 | + } |
|
| 795 | 795 | |
| 796 | - // SQLite ne differentie pas noms des index en fonction des tables |
|
| 797 | - // il faut donc creer des noms uniques d'index pour une base sqlite |
|
| 798 | - $index = $table . '_' . $nom; |
|
| 799 | - $exist = ' IF EXISTS'; |
|
| 796 | + // SQLite ne differentie pas noms des index en fonction des tables |
|
| 797 | + // il faut donc creer des noms uniques d'index pour une base sqlite |
|
| 798 | + $index = $table . '_' . $nom; |
|
| 799 | + $exist = ' IF EXISTS'; |
|
| 800 | 800 | |
| 801 | - $query = "DROP INDEX$exist $index"; |
|
| 801 | + $query = "DROP INDEX$exist $index"; |
|
| 802 | 802 | |
| 803 | - return spip_sqlite_query($query, $serveur, $requeter); |
|
| 803 | + return spip_sqlite_query($query, $serveur, $requeter); |
|
| 804 | 804 | } |
| 805 | 805 | |
| 806 | 806 | /** |
@@ -816,28 +816,28 @@ discard block |
||
| 816 | 816 | * Erreur eventuelle |
| 817 | 817 | **/ |
| 818 | 818 | function spip_sqlite_error($query = '', $serveur = '') { |
| 819 | - $link = _sqlite_link($serveur); |
|
| 819 | + $link = _sqlite_link($serveur); |
|
| 820 | 820 | |
| 821 | - if ($link) { |
|
| 822 | - $errs = $link->errorInfo(); |
|
| 823 | - $s = _sqlite_last_error_from_link($link); |
|
| 824 | - } else { |
|
| 825 | - $s = ': aucune ressource sqlite (link)'; |
|
| 826 | - } |
|
| 827 | - if ($s) { |
|
| 828 | - $trace = debug_backtrace(); |
|
| 829 | - if ($trace[0]['function'] != 'spip_sqlite_error') { |
|
| 830 | - spip_log("$s - $query - " . sql_error_backtrace(), 'sqlite.' . _LOG_ERREUR); |
|
| 831 | - } |
|
| 832 | - } |
|
| 821 | + if ($link) { |
|
| 822 | + $errs = $link->errorInfo(); |
|
| 823 | + $s = _sqlite_last_error_from_link($link); |
|
| 824 | + } else { |
|
| 825 | + $s = ': aucune ressource sqlite (link)'; |
|
| 826 | + } |
|
| 827 | + if ($s) { |
|
| 828 | + $trace = debug_backtrace(); |
|
| 829 | + if ($trace[0]['function'] != 'spip_sqlite_error') { |
|
| 830 | + spip_log("$s - $query - " . sql_error_backtrace(), 'sqlite.' . _LOG_ERREUR); |
|
| 831 | + } |
|
| 832 | + } |
|
| 833 | 833 | |
| 834 | - return $s; |
|
| 834 | + return $s; |
|
| 835 | 835 | } |
| 836 | 836 | |
| 837 | 837 | function _sqlite_last_error_from_link($link) { |
| 838 | - if ($link) { |
|
| 839 | - $errs = $link->errorInfo(); |
|
| 840 | - /* |
|
| 838 | + if ($link) { |
|
| 839 | + $errs = $link->errorInfo(); |
|
| 840 | + /* |
|
| 841 | 841 | $errs[0] |
| 842 | 842 | numero SQLState ('HY000' souvent lors d'une erreur) |
| 843 | 843 | http://www.easysoft.com/developer/interfaces/odbc/sqlstate_status_return_codes.html |
@@ -847,11 +847,11 @@ discard block |
||
| 847 | 847 | $errs[2] |
| 848 | 848 | Le texte du message d'erreur |
| 849 | 849 | */ |
| 850 | - if (ltrim($errs[0], '0')) { // 00000 si pas d'erreur |
|
| 851 | - return "$errs[2]"; |
|
| 852 | - } |
|
| 853 | - } |
|
| 854 | - return ''; |
|
| 850 | + if (ltrim($errs[0], '0')) { // 00000 si pas d'erreur |
|
| 851 | + return "$errs[2]"; |
|
| 852 | + } |
|
| 853 | + } |
|
| 854 | + return ''; |
|
| 855 | 855 | } |
| 856 | 856 | |
| 857 | 857 | /** |
@@ -868,23 +868,23 @@ discard block |
||
| 868 | 868 | * 'HY000/1' : numéro de l'erreur SQLState / numéro d'erreur interne SQLite (en sqlite 3) |
| 869 | 869 | **/ |
| 870 | 870 | function spip_sqlite_errno($serveur = '') { |
| 871 | - $link = _sqlite_link($serveur); |
|
| 871 | + $link = _sqlite_link($serveur); |
|
| 872 | 872 | |
| 873 | - if ($link) { |
|
| 874 | - $t = $link->errorInfo(); |
|
| 875 | - $s = ltrim($t[0], '0'); // 00000 si pas d'erreur |
|
| 876 | - if ($s) { |
|
| 877 | - $s .= ' / ' . $t[1]; |
|
| 878 | - } // ajoute l'erreur du moteur SQLite |
|
| 879 | - } else { |
|
| 880 | - $s = ': aucune ressource sqlite (link)'; |
|
| 881 | - } |
|
| 873 | + if ($link) { |
|
| 874 | + $t = $link->errorInfo(); |
|
| 875 | + $s = ltrim($t[0], '0'); // 00000 si pas d'erreur |
|
| 876 | + if ($s) { |
|
| 877 | + $s .= ' / ' . $t[1]; |
|
| 878 | + } // ajoute l'erreur du moteur SQLite |
|
| 879 | + } else { |
|
| 880 | + $s = ': aucune ressource sqlite (link)'; |
|
| 881 | + } |
|
| 882 | 882 | |
| 883 | - if ($s) { |
|
| 884 | - spip_log("Erreur sqlite $s", 'sqlite.' . _LOG_ERREUR); |
|
| 885 | - } |
|
| 883 | + if ($s) { |
|
| 884 | + spip_log("Erreur sqlite $s", 'sqlite.' . _LOG_ERREUR); |
|
| 885 | + } |
|
| 886 | 886 | |
| 887 | - return $s ? $s : 0; |
|
| 887 | + return $s ? $s : 0; |
|
| 888 | 888 | } |
| 889 | 889 | |
| 890 | 890 | |
@@ -900,19 +900,19 @@ discard block |
||
| 900 | 900 | * - false si on a pas pu avoir d'explication |
| 901 | 901 | */ |
| 902 | 902 | function spip_sqlite_explain($query, $serveur = '', $requeter = true) { |
| 903 | - if (strpos(ltrim($query), 'SELECT') !== 0) { |
|
| 904 | - return []; |
|
| 905 | - } |
|
| 903 | + if (strpos(ltrim($query), 'SELECT') !== 0) { |
|
| 904 | + return []; |
|
| 905 | + } |
|
| 906 | 906 | |
| 907 | - $query = spip_sqlite::traduire_requete($query, $serveur); |
|
| 908 | - $query = 'EXPLAIN ' . $query; |
|
| 909 | - if (!$requeter) { |
|
| 910 | - return $query; |
|
| 911 | - } |
|
| 912 | - // on ne trace pas ces requetes, sinon on obtient un tracage sans fin... |
|
| 913 | - $r = spip_sqlite::executer_requete($query, $serveur, false); |
|
| 907 | + $query = spip_sqlite::traduire_requete($query, $serveur); |
|
| 908 | + $query = 'EXPLAIN ' . $query; |
|
| 909 | + if (!$requeter) { |
|
| 910 | + return $query; |
|
| 911 | + } |
|
| 912 | + // on ne trace pas ces requetes, sinon on obtient un tracage sans fin... |
|
| 913 | + $r = spip_sqlite::executer_requete($query, $serveur, false); |
|
| 914 | 914 | |
| 915 | - return $r ? spip_sqlite_fetch($r, null, $serveur) : false; // hum ? etrange ca... a verifier |
|
| 915 | + return $r ? spip_sqlite_fetch($r, null, $serveur) : false; // hum ? etrange ca... a verifier |
|
| 916 | 916 | } |
| 917 | 917 | |
| 918 | 918 | |
@@ -929,30 +929,30 @@ discard block |
||
| 929 | 929 | */ |
| 930 | 930 | function spip_sqlite_fetch($r, $t = '', $serveur = '', $requeter = true) { |
| 931 | 931 | |
| 932 | - $link = _sqlite_link($serveur); |
|
| 933 | - $t = $t ? $t : SPIP_SQLITE3_ASSOC; |
|
| 932 | + $link = _sqlite_link($serveur); |
|
| 933 | + $t = $t ? $t : SPIP_SQLITE3_ASSOC; |
|
| 934 | 934 | |
| 935 | - $retour = false; |
|
| 936 | - if ($r) { |
|
| 937 | - $retour = $r->fetch($t); |
|
| 938 | - } |
|
| 935 | + $retour = false; |
|
| 936 | + if ($r) { |
|
| 937 | + $retour = $r->fetch($t); |
|
| 938 | + } |
|
| 939 | 939 | |
| 940 | - // Renvoie des 'table.titre' au lieu de 'titre' tout court ! pff ! |
|
| 941 | - // suppression de 'table.' pour toutes les cles (c'est un peu violent !) |
|
| 942 | - // c'est couteux : on ne verifie que la premiere ligne pour voir si on le fait ou non |
|
| 943 | - if ( |
|
| 944 | - $retour |
|
| 945 | - and strpos(implode('', array_keys($retour)), '.') !== false |
|
| 946 | - ) { |
|
| 947 | - foreach ($retour as $cle => $val) { |
|
| 948 | - if (($pos = strpos($cle, '.')) !== false) { |
|
| 949 | - $retour[substr($cle, $pos + 1)] = &$retour[$cle]; |
|
| 950 | - unset($retour[$cle]); |
|
| 951 | - } |
|
| 952 | - } |
|
| 953 | - } |
|
| 940 | + // Renvoie des 'table.titre' au lieu de 'titre' tout court ! pff ! |
|
| 941 | + // suppression de 'table.' pour toutes les cles (c'est un peu violent !) |
|
| 942 | + // c'est couteux : on ne verifie que la premiere ligne pour voir si on le fait ou non |
|
| 943 | + if ( |
|
| 944 | + $retour |
|
| 945 | + and strpos(implode('', array_keys($retour)), '.') !== false |
|
| 946 | + ) { |
|
| 947 | + foreach ($retour as $cle => $val) { |
|
| 948 | + if (($pos = strpos($cle, '.')) !== false) { |
|
| 949 | + $retour[substr($cle, $pos + 1)] = &$retour[$cle]; |
|
| 950 | + unset($retour[$cle]); |
|
| 951 | + } |
|
| 952 | + } |
|
| 953 | + } |
|
| 954 | 954 | |
| 955 | - return $retour; |
|
| 955 | + return $retour; |
|
| 956 | 956 | } |
| 957 | 957 | |
| 958 | 958 | /** |
@@ -965,8 +965,8 @@ discard block |
||
| 965 | 965 | * @return bool True si déplacement réussi, false sinon. |
| 966 | 966 | **/ |
| 967 | 967 | function spip_sqlite_seek($r, $row_number, $serveur = '', $requeter = true) { |
| 968 | - // encore un truc de bien fichu : PDO ne PEUT PAS faire de seek ou de rewind... |
|
| 969 | - return false; |
|
| 968 | + // encore un truc de bien fichu : PDO ne PEUT PAS faire de seek ou de rewind... |
|
| 969 | + return false; |
|
| 970 | 970 | } |
| 971 | 971 | |
| 972 | 972 | |
@@ -982,10 +982,10 @@ discard block |
||
| 982 | 982 | * @return bool True si réussi |
| 983 | 983 | */ |
| 984 | 984 | function spip_sqlite_free(&$r, $serveur = '', $requeter = true) { |
| 985 | - unset($r); |
|
| 985 | + unset($r); |
|
| 986 | 986 | |
| 987 | - return true; |
|
| 988 | - //return sqlite_free_result($r); |
|
| 987 | + return true; |
|
| 988 | + //return sqlite_free_result($r); |
|
| 989 | 989 | } |
| 990 | 990 | |
| 991 | 991 | |
@@ -1000,8 +1000,8 @@ discard block |
||
| 1000 | 1000 | * @return void |
| 1001 | 1001 | */ |
| 1002 | 1002 | function spip_sqlite_get_charset($charset = [], $serveur = '', $requeter = true) { |
| 1003 | - //$c = !$charset ? '' : (" LIKE "._q($charset['charset'])); |
|
| 1004 | - //return spip_sqlite_fetch(sqlite_query(_sqlite_link($serveur), "SHOW CHARACTER SET$c"), NULL, $serveur); |
|
| 1003 | + //$c = !$charset ? '' : (" LIKE "._q($charset['charset'])); |
|
| 1004 | + //return spip_sqlite_fetch(sqlite_query(_sqlite_link($serveur), "SHOW CHARACTER SET$c"), NULL, $serveur); |
|
| 1005 | 1005 | } |
| 1006 | 1006 | |
| 1007 | 1007 | |
@@ -1016,7 +1016,7 @@ discard block |
||
| 1016 | 1016 | * Valeur hexadécimale pour SQLite |
| 1017 | 1017 | **/ |
| 1018 | 1018 | function spip_sqlite_hex($v) { |
| 1019 | - return hexdec($v); |
|
| 1019 | + return hexdec($v); |
|
| 1020 | 1020 | } |
| 1021 | 1021 | |
| 1022 | 1022 | |
@@ -1038,7 +1038,7 @@ discard block |
||
| 1038 | 1038 | * Expression de requête SQL |
| 1039 | 1039 | **/ |
| 1040 | 1040 | function spip_sqlite_in($val, $valeurs, $not = '', $serveur = '', $requeter = true) { |
| 1041 | - return "($val $not IN ($valeurs))"; |
|
| 1041 | + return "($val $not IN ($valeurs))"; |
|
| 1042 | 1042 | } |
| 1043 | 1043 | |
| 1044 | 1044 | |
@@ -1066,20 +1066,20 @@ discard block |
||
| 1066 | 1066 | **/ |
| 1067 | 1067 | function spip_sqlite_insert($table, $champs, $valeurs, $desc = [], $serveur = '', $requeter = true) { |
| 1068 | 1068 | |
| 1069 | - $query = "INSERT INTO $table " . ($champs ? "$champs VALUES $valeurs" : 'DEFAULT VALUES'); |
|
| 1070 | - if ($r = spip_sqlite_query($query, $serveur, $requeter)) { |
|
| 1071 | - if (!$requeter) { |
|
| 1072 | - return $r; |
|
| 1073 | - } |
|
| 1074 | - $nb = spip_sqlite::last_insert_id($serveur); |
|
| 1075 | - } else { |
|
| 1076 | - $nb = false; |
|
| 1077 | - } |
|
| 1069 | + $query = "INSERT INTO $table " . ($champs ? "$champs VALUES $valeurs" : 'DEFAULT VALUES'); |
|
| 1070 | + if ($r = spip_sqlite_query($query, $serveur, $requeter)) { |
|
| 1071 | + if (!$requeter) { |
|
| 1072 | + return $r; |
|
| 1073 | + } |
|
| 1074 | + $nb = spip_sqlite::last_insert_id($serveur); |
|
| 1075 | + } else { |
|
| 1076 | + $nb = false; |
|
| 1077 | + } |
|
| 1078 | 1078 | |
| 1079 | - $err = spip_sqlite_error($query, $serveur); |
|
| 1079 | + $err = spip_sqlite_error($query, $serveur); |
|
| 1080 | 1080 | |
| 1081 | - // cas particulier : ne pas substituer la reponse spip_sqlite_query si on est en profilage |
|
| 1082 | - return isset($_GET['var_profile']) ? $r : $nb; |
|
| 1081 | + // cas particulier : ne pas substituer la reponse spip_sqlite_query si on est en profilage |
|
| 1082 | + return isset($_GET['var_profile']) ? $r : $nb; |
|
| 1083 | 1083 | } |
| 1084 | 1084 | |
| 1085 | 1085 | |
@@ -1104,28 +1104,28 @@ discard block |
||
| 1104 | 1104 | * - Tableau de description de la requête et du temps d'exécution, si var_profile activé |
| 1105 | 1105 | **/ |
| 1106 | 1106 | function spip_sqlite_insertq($table, $couples = [], $desc = [], $serveur = '', $requeter = true) { |
| 1107 | - if (!$desc) { |
|
| 1108 | - $desc = description_table($table, $serveur); |
|
| 1109 | - } |
|
| 1110 | - if (!$desc) { |
|
| 1111 | - die("$table insertion sans description"); |
|
| 1112 | - } |
|
| 1113 | - $fields = isset($desc['field']) ? $desc['field'] : []; |
|
| 1107 | + if (!$desc) { |
|
| 1108 | + $desc = description_table($table, $serveur); |
|
| 1109 | + } |
|
| 1110 | + if (!$desc) { |
|
| 1111 | + die("$table insertion sans description"); |
|
| 1112 | + } |
|
| 1113 | + $fields = isset($desc['field']) ? $desc['field'] : []; |
|
| 1114 | 1114 | |
| 1115 | - foreach ($couples as $champ => $val) { |
|
| 1116 | - $couples[$champ] = _sqlite_calculer_cite($val, $fields[$champ]); |
|
| 1117 | - } |
|
| 1115 | + foreach ($couples as $champ => $val) { |
|
| 1116 | + $couples[$champ] = _sqlite_calculer_cite($val, $fields[$champ]); |
|
| 1117 | + } |
|
| 1118 | 1118 | |
| 1119 | - // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1120 | - $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur); |
|
| 1119 | + // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1120 | + $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur); |
|
| 1121 | 1121 | |
| 1122 | - $cles = $valeurs = ''; |
|
| 1123 | - if (count($couples)) { |
|
| 1124 | - $cles = '(' . join(',', array_keys($couples)) . ')'; |
|
| 1125 | - $valeurs = '(' . join(',', $couples) . ')'; |
|
| 1126 | - } |
|
| 1122 | + $cles = $valeurs = ''; |
|
| 1123 | + if (count($couples)) { |
|
| 1124 | + $cles = '(' . join(',', array_keys($couples)) . ')'; |
|
| 1125 | + $valeurs = '(' . join(',', $couples) . ')'; |
|
| 1126 | + } |
|
| 1127 | 1127 | |
| 1128 | - return spip_sqlite_insert($table, $cles, $valeurs, $desc, $serveur, $requeter); |
|
| 1128 | + return spip_sqlite_insert($table, $cles, $valeurs, $desc, $serveur, $requeter); |
|
| 1129 | 1129 | } |
| 1130 | 1130 | |
| 1131 | 1131 | |
@@ -1149,70 +1149,70 @@ discard block |
||
| 1149 | 1149 | * - False en cas d'erreur. |
| 1150 | 1150 | **/ |
| 1151 | 1151 | function spip_sqlite_insertq_multi($table, $tab_couples = [], $desc = [], $serveur = '', $requeter = true) { |
| 1152 | - if (!$desc) { |
|
| 1153 | - $desc = description_table($table, $serveur); |
|
| 1154 | - } |
|
| 1155 | - if (!$desc) { |
|
| 1156 | - die("$table insertion sans description"); |
|
| 1157 | - } |
|
| 1158 | - if (!isset($desc['field'])) { |
|
| 1159 | - $desc['field'] = []; |
|
| 1160 | - } |
|
| 1161 | - |
|
| 1162 | - // recuperer les champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1163 | - $maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur); |
|
| 1164 | - |
|
| 1165 | - // seul le nom de la table est a traduire ici : |
|
| 1166 | - // le faire une seule fois au debut |
|
| 1167 | - $query_start = "INSERT INTO $table "; |
|
| 1168 | - $query_start = spip_sqlite::traduire_requete($query_start, $serveur); |
|
| 1169 | - |
|
| 1170 | - // ouvrir une transaction |
|
| 1171 | - if ($requeter) { |
|
| 1172 | - spip_sqlite::demarrer_transaction($serveur); |
|
| 1173 | - } |
|
| 1174 | - |
|
| 1175 | - while ($couples = array_shift($tab_couples)) { |
|
| 1176 | - foreach ($couples as $champ => $val) { |
|
| 1177 | - $couples[$champ] = _sqlite_calculer_cite($val, $desc['field'][$champ]); |
|
| 1178 | - } |
|
| 1179 | - |
|
| 1180 | - // inserer les champs timestamp par defaut |
|
| 1181 | - $couples = array_merge($maj, $couples); |
|
| 1182 | - |
|
| 1183 | - $champs = $valeurs = ''; |
|
| 1184 | - if (count($couples)) { |
|
| 1185 | - $champs = '(' . join(',', array_keys($couples)) . ')'; |
|
| 1186 | - $valeurs = '(' . join(',', $couples) . ')'; |
|
| 1187 | - $query = $query_start . "$champs VALUES $valeurs"; |
|
| 1188 | - } else { |
|
| 1189 | - $query = $query_start . 'DEFAULT VALUES'; |
|
| 1190 | - } |
|
| 1191 | - |
|
| 1192 | - if ($requeter) { |
|
| 1193 | - $retour = spip_sqlite::executer_requete($query, $serveur); |
|
| 1194 | - } |
|
| 1195 | - |
|
| 1196 | - // sur le dernier couple uniquement |
|
| 1197 | - if (!count($tab_couples)) { |
|
| 1198 | - $nb = 0; |
|
| 1199 | - if ($requeter) { |
|
| 1200 | - $nb = spip_sqlite::last_insert_id($serveur); |
|
| 1201 | - } else { |
|
| 1202 | - return $query; |
|
| 1203 | - } |
|
| 1204 | - } |
|
| 1205 | - |
|
| 1206 | - $err = spip_sqlite_error($query, $serveur); |
|
| 1207 | - } |
|
| 1208 | - |
|
| 1209 | - if ($requeter) { |
|
| 1210 | - spip_sqlite::finir_transaction($serveur); |
|
| 1211 | - } |
|
| 1212 | - |
|
| 1213 | - // renvoie le dernier id d'autoincrement ajoute |
|
| 1214 | - // cas particulier : ne pas substituer la reponse spip_sqlite_query si on est en profilage |
|
| 1215 | - return isset($_GET['var_profile']) ? $retour : $nb; |
|
| 1152 | + if (!$desc) { |
|
| 1153 | + $desc = description_table($table, $serveur); |
|
| 1154 | + } |
|
| 1155 | + if (!$desc) { |
|
| 1156 | + die("$table insertion sans description"); |
|
| 1157 | + } |
|
| 1158 | + if (!isset($desc['field'])) { |
|
| 1159 | + $desc['field'] = []; |
|
| 1160 | + } |
|
| 1161 | + |
|
| 1162 | + // recuperer les champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1163 | + $maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur); |
|
| 1164 | + |
|
| 1165 | + // seul le nom de la table est a traduire ici : |
|
| 1166 | + // le faire une seule fois au debut |
|
| 1167 | + $query_start = "INSERT INTO $table "; |
|
| 1168 | + $query_start = spip_sqlite::traduire_requete($query_start, $serveur); |
|
| 1169 | + |
|
| 1170 | + // ouvrir une transaction |
|
| 1171 | + if ($requeter) { |
|
| 1172 | + spip_sqlite::demarrer_transaction($serveur); |
|
| 1173 | + } |
|
| 1174 | + |
|
| 1175 | + while ($couples = array_shift($tab_couples)) { |
|
| 1176 | + foreach ($couples as $champ => $val) { |
|
| 1177 | + $couples[$champ] = _sqlite_calculer_cite($val, $desc['field'][$champ]); |
|
| 1178 | + } |
|
| 1179 | + |
|
| 1180 | + // inserer les champs timestamp par defaut |
|
| 1181 | + $couples = array_merge($maj, $couples); |
|
| 1182 | + |
|
| 1183 | + $champs = $valeurs = ''; |
|
| 1184 | + if (count($couples)) { |
|
| 1185 | + $champs = '(' . join(',', array_keys($couples)) . ')'; |
|
| 1186 | + $valeurs = '(' . join(',', $couples) . ')'; |
|
| 1187 | + $query = $query_start . "$champs VALUES $valeurs"; |
|
| 1188 | + } else { |
|
| 1189 | + $query = $query_start . 'DEFAULT VALUES'; |
|
| 1190 | + } |
|
| 1191 | + |
|
| 1192 | + if ($requeter) { |
|
| 1193 | + $retour = spip_sqlite::executer_requete($query, $serveur); |
|
| 1194 | + } |
|
| 1195 | + |
|
| 1196 | + // sur le dernier couple uniquement |
|
| 1197 | + if (!count($tab_couples)) { |
|
| 1198 | + $nb = 0; |
|
| 1199 | + if ($requeter) { |
|
| 1200 | + $nb = spip_sqlite::last_insert_id($serveur); |
|
| 1201 | + } else { |
|
| 1202 | + return $query; |
|
| 1203 | + } |
|
| 1204 | + } |
|
| 1205 | + |
|
| 1206 | + $err = spip_sqlite_error($query, $serveur); |
|
| 1207 | + } |
|
| 1208 | + |
|
| 1209 | + if ($requeter) { |
|
| 1210 | + spip_sqlite::finir_transaction($serveur); |
|
| 1211 | + } |
|
| 1212 | + |
|
| 1213 | + // renvoie le dernier id d'autoincrement ajoute |
|
| 1214 | + // cas particulier : ne pas substituer la reponse spip_sqlite_query si on est en profilage |
|
| 1215 | + return isset($_GET['var_profile']) ? $retour : $nb; |
|
| 1216 | 1216 | } |
| 1217 | 1217 | |
| 1218 | 1218 | |
@@ -1227,7 +1227,7 @@ discard block |
||
| 1227 | 1227 | * Toujours true. |
| 1228 | 1228 | **/ |
| 1229 | 1229 | function spip_sqlite_preferer_transaction($serveur = '', $requeter = true) { |
| 1230 | - return true; |
|
| 1230 | + return true; |
|
| 1231 | 1231 | } |
| 1232 | 1232 | |
| 1233 | 1233 | /** |
@@ -1244,12 +1244,12 @@ discard block |
||
| 1244 | 1244 | * string si texte de la requête demandé, true sinon |
| 1245 | 1245 | **/ |
| 1246 | 1246 | function spip_sqlite_demarrer_transaction($serveur = '', $requeter = true) { |
| 1247 | - if (!$requeter) { |
|
| 1248 | - return 'BEGIN TRANSACTION'; |
|
| 1249 | - } |
|
| 1250 | - spip_sqlite::demarrer_transaction($serveur); |
|
| 1247 | + if (!$requeter) { |
|
| 1248 | + return 'BEGIN TRANSACTION'; |
|
| 1249 | + } |
|
| 1250 | + spip_sqlite::demarrer_transaction($serveur); |
|
| 1251 | 1251 | |
| 1252 | - return true; |
|
| 1252 | + return true; |
|
| 1253 | 1253 | } |
| 1254 | 1254 | |
| 1255 | 1255 | /** |
@@ -1263,12 +1263,12 @@ discard block |
||
| 1263 | 1263 | * string si texte de la requête demandé, true sinon |
| 1264 | 1264 | **/ |
| 1265 | 1265 | function spip_sqlite_terminer_transaction($serveur = '', $requeter = true) { |
| 1266 | - if (!$requeter) { |
|
| 1267 | - return 'COMMIT'; |
|
| 1268 | - } |
|
| 1269 | - spip_sqlite::finir_transaction($serveur); |
|
| 1266 | + if (!$requeter) { |
|
| 1267 | + return 'COMMIT'; |
|
| 1268 | + } |
|
| 1269 | + spip_sqlite::finir_transaction($serveur); |
|
| 1270 | 1270 | |
| 1271 | - return true; |
|
| 1271 | + return true; |
|
| 1272 | 1272 | } |
| 1273 | 1273 | |
| 1274 | 1274 | |
@@ -1283,27 +1283,27 @@ discard block |
||
| 1283 | 1283 | * Liste des noms de bases |
| 1284 | 1284 | **/ |
| 1285 | 1285 | function spip_sqlite_listdbs($serveur = '', $requeter = true) { |
| 1286 | - _sqlite_init(); |
|
| 1286 | + _sqlite_init(); |
|
| 1287 | 1287 | |
| 1288 | - if (!is_dir($d = substr(_DIR_DB, 0, -1))) { |
|
| 1289 | - return []; |
|
| 1290 | - } |
|
| 1288 | + if (!is_dir($d = substr(_DIR_DB, 0, -1))) { |
|
| 1289 | + return []; |
|
| 1290 | + } |
|
| 1291 | 1291 | |
| 1292 | - include_spip('inc/flock'); |
|
| 1293 | - $bases = preg_files($d, $pattern = '(.*)\.sqlite$'); |
|
| 1294 | - $bds = []; |
|
| 1292 | + include_spip('inc/flock'); |
|
| 1293 | + $bases = preg_files($d, $pattern = '(.*)\.sqlite$'); |
|
| 1294 | + $bds = []; |
|
| 1295 | 1295 | |
| 1296 | - foreach ($bases as $b) { |
|
| 1297 | - // pas de bases commencant pas sqlite |
|
| 1298 | - // (on s'en sert pour l'installation pour simuler la presence d'un serveur) |
|
| 1299 | - // les bases sont de la forme _sqliteX_tmp_spip_install.sqlite |
|
| 1300 | - if (strpos($b, '_sqlite')) { |
|
| 1301 | - continue; |
|
| 1302 | - } |
|
| 1303 | - $bds[] = preg_replace(";.*/$pattern;iS", '$1', $b); |
|
| 1304 | - } |
|
| 1296 | + foreach ($bases as $b) { |
|
| 1297 | + // pas de bases commencant pas sqlite |
|
| 1298 | + // (on s'en sert pour l'installation pour simuler la presence d'un serveur) |
|
| 1299 | + // les bases sont de la forme _sqliteX_tmp_spip_install.sqlite |
|
| 1300 | + if (strpos($b, '_sqlite')) { |
|
| 1301 | + continue; |
|
| 1302 | + } |
|
| 1303 | + $bds[] = preg_replace(";.*/$pattern;iS", '$1', $b); |
|
| 1304 | + } |
|
| 1305 | 1305 | |
| 1306 | - return $bds; |
|
| 1306 | + return $bds; |
|
| 1307 | 1307 | } |
| 1308 | 1308 | |
| 1309 | 1309 | |
@@ -1318,9 +1318,9 @@ discard block |
||
| 1318 | 1318 | * @return string Texte de sélection pour la requête |
| 1319 | 1319 | */ |
| 1320 | 1320 | function spip_sqlite_multi($objet, $lang) { |
| 1321 | - $r = 'EXTRAIRE_MULTI(' . $objet . ", '" . $lang . "') AS multi"; |
|
| 1321 | + $r = 'EXTRAIRE_MULTI(' . $objet . ", '" . $lang . "') AS multi"; |
|
| 1322 | 1322 | |
| 1323 | - return $r; |
|
| 1323 | + return $r; |
|
| 1324 | 1324 | } |
| 1325 | 1325 | |
| 1326 | 1326 | |
@@ -1337,15 +1337,15 @@ discard block |
||
| 1337 | 1337 | * @return bool|string true / false / requete |
| 1338 | 1338 | **/ |
| 1339 | 1339 | function spip_sqlite_optimize($table, $serveur = '', $requeter = true) { |
| 1340 | - static $do = false; |
|
| 1341 | - if ($requeter and $do) { |
|
| 1342 | - return true; |
|
| 1343 | - } |
|
| 1344 | - if ($requeter) { |
|
| 1345 | - $do = true; |
|
| 1346 | - } |
|
| 1340 | + static $do = false; |
|
| 1341 | + if ($requeter and $do) { |
|
| 1342 | + return true; |
|
| 1343 | + } |
|
| 1344 | + if ($requeter) { |
|
| 1345 | + $do = true; |
|
| 1346 | + } |
|
| 1347 | 1347 | |
| 1348 | - return spip_sqlite_query('VACUUM', $serveur, $requeter); |
|
| 1348 | + return spip_sqlite_query('VACUUM', $serveur, $requeter); |
|
| 1349 | 1349 | } |
| 1350 | 1350 | |
| 1351 | 1351 | |
@@ -1362,15 +1362,15 @@ discard block |
||
| 1362 | 1362 | * Donnée prête à être utilisée par le gestionnaire SQL |
| 1363 | 1363 | */ |
| 1364 | 1364 | function spip_sqlite_quote($v, $type = '') { |
| 1365 | - if (!is_array($v)) { |
|
| 1366 | - return _sqlite_calculer_cite($v, $type); |
|
| 1367 | - } |
|
| 1368 | - // si c'est un tableau, le parcourir en propageant le type |
|
| 1369 | - foreach ($v as $k => $r) { |
|
| 1370 | - $v[$k] = spip_sqlite_quote($r, $type); |
|
| 1371 | - } |
|
| 1365 | + if (!is_array($v)) { |
|
| 1366 | + return _sqlite_calculer_cite($v, $type); |
|
| 1367 | + } |
|
| 1368 | + // si c'est un tableau, le parcourir en propageant le type |
|
| 1369 | + foreach ($v as $k => $r) { |
|
| 1370 | + $v[$k] = spip_sqlite_quote($r, $type); |
|
| 1371 | + } |
|
| 1372 | 1372 | |
| 1373 | - return join(',', $v); |
|
| 1373 | + return join(',', $v); |
|
| 1374 | 1374 | } |
| 1375 | 1375 | |
| 1376 | 1376 | |
@@ -1387,9 +1387,9 @@ discard block |
||
| 1387 | 1387 | * Expression SQL |
| 1388 | 1388 | **/ |
| 1389 | 1389 | function spip_sqlite_date_proche($champ, $interval, $unite) { |
| 1390 | - $op = (($interval <= 0) ? '>' : '<'); |
|
| 1390 | + $op = (($interval <= 0) ? '>' : '<'); |
|
| 1391 | 1391 | |
| 1392 | - return "($champ $op datetime('" . date('Y-m-d H:i:s') . "', '$interval $unite'))"; |
|
| 1392 | + return "($champ $op datetime('" . date('Y-m-d H:i:s') . "', '$interval $unite'))"; |
|
| 1393 | 1393 | } |
| 1394 | 1394 | |
| 1395 | 1395 | |
@@ -1407,48 +1407,48 @@ discard block |
||
| 1407 | 1407 | * l'état de la table après la réparation |
| 1408 | 1408 | */ |
| 1409 | 1409 | function spip_sqlite_repair($table, $serveur = '', $requeter = true) { |
| 1410 | - if ( |
|
| 1411 | - $desc = spip_sqlite_showtable($table, $serveur) |
|
| 1412 | - and isset($desc['field']) |
|
| 1413 | - and is_array($desc['field']) |
|
| 1414 | - ) { |
|
| 1415 | - foreach ($desc['field'] as $c => $d) { |
|
| 1416 | - if ( |
|
| 1417 | - preg_match(',^(tinytext|mediumtext|text|longtext|varchar|char),i', $d) |
|
| 1418 | - and stripos($d, 'NOT NULL') !== false |
|
| 1419 | - and stripos($d, 'DEFAULT') === false |
|
| 1420 | - /* pas touche aux cles primaires */ |
|
| 1421 | - and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
|
| 1422 | - ) { |
|
| 1423 | - spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT ''", $serveur); |
|
| 1424 | - spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1425 | - } |
|
| 1426 | - if ( |
|
| 1427 | - preg_match(',^(INTEGER),i', $d) |
|
| 1428 | - and stripos($d, 'NOT NULL') !== false |
|
| 1429 | - and stripos($d, 'DEFAULT') === false |
|
| 1430 | - /* pas touche aux cles primaires */ |
|
| 1431 | - and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
|
| 1432 | - ) { |
|
| 1433 | - spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0'", $serveur); |
|
| 1434 | - spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1435 | - } |
|
| 1436 | - if ( |
|
| 1437 | - preg_match(',^(datetime),i', $d) |
|
| 1438 | - and stripos($d, 'NOT NULL') !== false |
|
| 1439 | - and stripos($d, 'DEFAULT') === false |
|
| 1440 | - /* pas touche aux cles primaires */ |
|
| 1441 | - and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
|
| 1442 | - ) { |
|
| 1443 | - spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0000-00-00 00:00:00'", $serveur); |
|
| 1444 | - spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1445 | - } |
|
| 1446 | - } |
|
| 1447 | - |
|
| 1448 | - return [' OK ']; |
|
| 1449 | - } |
|
| 1450 | - |
|
| 1451 | - return [' ERROR ']; |
|
| 1410 | + if ( |
|
| 1411 | + $desc = spip_sqlite_showtable($table, $serveur) |
|
| 1412 | + and isset($desc['field']) |
|
| 1413 | + and is_array($desc['field']) |
|
| 1414 | + ) { |
|
| 1415 | + foreach ($desc['field'] as $c => $d) { |
|
| 1416 | + if ( |
|
| 1417 | + preg_match(',^(tinytext|mediumtext|text|longtext|varchar|char),i', $d) |
|
| 1418 | + and stripos($d, 'NOT NULL') !== false |
|
| 1419 | + and stripos($d, 'DEFAULT') === false |
|
| 1420 | + /* pas touche aux cles primaires */ |
|
| 1421 | + and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
|
| 1422 | + ) { |
|
| 1423 | + spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT ''", $serveur); |
|
| 1424 | + spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1425 | + } |
|
| 1426 | + if ( |
|
| 1427 | + preg_match(',^(INTEGER),i', $d) |
|
| 1428 | + and stripos($d, 'NOT NULL') !== false |
|
| 1429 | + and stripos($d, 'DEFAULT') === false |
|
| 1430 | + /* pas touche aux cles primaires */ |
|
| 1431 | + and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
|
| 1432 | + ) { |
|
| 1433 | + spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0'", $serveur); |
|
| 1434 | + spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1435 | + } |
|
| 1436 | + if ( |
|
| 1437 | + preg_match(',^(datetime),i', $d) |
|
| 1438 | + and stripos($d, 'NOT NULL') !== false |
|
| 1439 | + and stripos($d, 'DEFAULT') === false |
|
| 1440 | + /* pas touche aux cles primaires */ |
|
| 1441 | + and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
|
| 1442 | + ) { |
|
| 1443 | + spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0000-00-00 00:00:00'", $serveur); |
|
| 1444 | + spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1445 | + } |
|
| 1446 | + } |
|
| 1447 | + |
|
| 1448 | + return [' OK ']; |
|
| 1449 | + } |
|
| 1450 | + |
|
| 1451 | + return [' ERROR ']; |
|
| 1452 | 1452 | } |
| 1453 | 1453 | |
| 1454 | 1454 | |
@@ -1477,25 +1477,25 @@ discard block |
||
| 1477 | 1477 | * - False en cas d'erreur. |
| 1478 | 1478 | **/ |
| 1479 | 1479 | function spip_sqlite_replace($table, $couples, $desc = [], $serveur = '', $requeter = true) { |
| 1480 | - if (!$desc) { |
|
| 1481 | - $desc = description_table($table, $serveur); |
|
| 1482 | - } |
|
| 1483 | - if (!$desc) { |
|
| 1484 | - die("$table insertion sans description"); |
|
| 1485 | - } |
|
| 1486 | - $fields = isset($desc['field']) ? $desc['field'] : []; |
|
| 1480 | + if (!$desc) { |
|
| 1481 | + $desc = description_table($table, $serveur); |
|
| 1482 | + } |
|
| 1483 | + if (!$desc) { |
|
| 1484 | + die("$table insertion sans description"); |
|
| 1485 | + } |
|
| 1486 | + $fields = isset($desc['field']) ? $desc['field'] : []; |
|
| 1487 | 1487 | |
| 1488 | - foreach ($couples as $champ => $val) { |
|
| 1489 | - $couples[$champ] = _sqlite_calculer_cite($val, $fields[$champ]); |
|
| 1490 | - } |
|
| 1488 | + foreach ($couples as $champ => $val) { |
|
| 1489 | + $couples[$champ] = _sqlite_calculer_cite($val, $fields[$champ]); |
|
| 1490 | + } |
|
| 1491 | 1491 | |
| 1492 | - // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1493 | - $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur); |
|
| 1492 | + // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1493 | + $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur); |
|
| 1494 | 1494 | |
| 1495 | - return spip_sqlite_query("REPLACE INTO $table (" . join(',', array_keys($couples)) . ') VALUES (' . join( |
|
| 1496 | - ',', |
|
| 1497 | - $couples |
|
| 1498 | - ) . ')', $serveur); |
|
| 1495 | + return spip_sqlite_query("REPLACE INTO $table (" . join(',', array_keys($couples)) . ') VALUES (' . join( |
|
| 1496 | + ',', |
|
| 1497 | + $couples |
|
| 1498 | + ) . ')', $serveur); |
|
| 1499 | 1499 | } |
| 1500 | 1500 | |
| 1501 | 1501 | |
@@ -1525,13 +1525,13 @@ discard block |
||
| 1525 | 1525 | **/ |
| 1526 | 1526 | function spip_sqlite_replace_multi($table, $tab_couples, $desc = [], $serveur = '', $requeter = true) { |
| 1527 | 1527 | |
| 1528 | - // boucler pour trainter chaque requete independemment |
|
| 1529 | - foreach ($tab_couples as $couples) { |
|
| 1530 | - $retour = spip_sqlite_replace($table, $couples, $desc, $serveur, $requeter); |
|
| 1531 | - } |
|
| 1528 | + // boucler pour trainter chaque requete independemment |
|
| 1529 | + foreach ($tab_couples as $couples) { |
|
| 1530 | + $retour = spip_sqlite_replace($table, $couples, $desc, $serveur, $requeter); |
|
| 1531 | + } |
|
| 1532 | 1532 | |
| 1533 | - // renvoie le dernier id |
|
| 1534 | - return $retour; |
|
| 1533 | + // renvoie le dernier id |
|
| 1534 | + return $retour; |
|
| 1535 | 1535 | } |
| 1536 | 1536 | |
| 1537 | 1537 | |
@@ -1558,44 +1558,44 @@ discard block |
||
| 1558 | 1558 | * - array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer. |
| 1559 | 1559 | */ |
| 1560 | 1560 | function spip_sqlite_select( |
| 1561 | - $select, |
|
| 1562 | - $from, |
|
| 1563 | - $where = '', |
|
| 1564 | - $groupby = '', |
|
| 1565 | - $orderby = '', |
|
| 1566 | - $limit = '', |
|
| 1567 | - $having = '', |
|
| 1568 | - $serveur = '', |
|
| 1569 | - $requeter = true |
|
| 1561 | + $select, |
|
| 1562 | + $from, |
|
| 1563 | + $where = '', |
|
| 1564 | + $groupby = '', |
|
| 1565 | + $orderby = '', |
|
| 1566 | + $limit = '', |
|
| 1567 | + $having = '', |
|
| 1568 | + $serveur = '', |
|
| 1569 | + $requeter = true |
|
| 1570 | 1570 | ) { |
| 1571 | 1571 | |
| 1572 | - // version() n'est pas connu de sqlite |
|
| 1573 | - $select = str_replace('version()', 'sqlite_version()', $select); |
|
| 1572 | + // version() n'est pas connu de sqlite |
|
| 1573 | + $select = str_replace('version()', 'sqlite_version()', $select); |
|
| 1574 | 1574 | |
| 1575 | - // recomposer from |
|
| 1576 | - $from = (!is_array($from) ? $from : _sqlite_calculer_select_as($from)); |
|
| 1575 | + // recomposer from |
|
| 1576 | + $from = (!is_array($from) ? $from : _sqlite_calculer_select_as($from)); |
|
| 1577 | 1577 | |
| 1578 | - $query = |
|
| 1579 | - _sqlite_calculer_expression('SELECT', $select, ', ') |
|
| 1580 | - . _sqlite_calculer_expression('FROM', $from, ', ') |
|
| 1581 | - . _sqlite_calculer_expression('WHERE', $where) |
|
| 1582 | - . _sqlite_calculer_expression('GROUP BY', $groupby, ',') |
|
| 1583 | - . _sqlite_calculer_expression('HAVING', $having) |
|
| 1584 | - . ($orderby ? ("\nORDER BY " . _sqlite_calculer_order($orderby)) : '') |
|
| 1585 | - . ($limit ? "\nLIMIT $limit" : ''); |
|
| 1578 | + $query = |
|
| 1579 | + _sqlite_calculer_expression('SELECT', $select, ', ') |
|
| 1580 | + . _sqlite_calculer_expression('FROM', $from, ', ') |
|
| 1581 | + . _sqlite_calculer_expression('WHERE', $where) |
|
| 1582 | + . _sqlite_calculer_expression('GROUP BY', $groupby, ',') |
|
| 1583 | + . _sqlite_calculer_expression('HAVING', $having) |
|
| 1584 | + . ($orderby ? ("\nORDER BY " . _sqlite_calculer_order($orderby)) : '') |
|
| 1585 | + . ($limit ? "\nLIMIT $limit" : ''); |
|
| 1586 | 1586 | |
| 1587 | - // dans un select, on doit renvoyer la requête en cas d'erreur |
|
| 1588 | - $res = spip_sqlite_query($query, $serveur, $requeter); |
|
| 1589 | - // texte de la requete demande ? |
|
| 1590 | - if (!$requeter) { |
|
| 1591 | - return $res; |
|
| 1592 | - } |
|
| 1593 | - // erreur survenue ? |
|
| 1594 | - if ($res === false) { |
|
| 1595 | - return spip_sqlite::traduire_requete($query, $serveur); |
|
| 1596 | - } |
|
| 1587 | + // dans un select, on doit renvoyer la requête en cas d'erreur |
|
| 1588 | + $res = spip_sqlite_query($query, $serveur, $requeter); |
|
| 1589 | + // texte de la requete demande ? |
|
| 1590 | + if (!$requeter) { |
|
| 1591 | + return $res; |
|
| 1592 | + } |
|
| 1593 | + // erreur survenue ? |
|
| 1594 | + if ($res === false) { |
|
| 1595 | + return spip_sqlite::traduire_requete($query, $serveur); |
|
| 1596 | + } |
|
| 1597 | 1597 | |
| 1598 | - return $res; |
|
| 1598 | + return $res; |
|
| 1599 | 1599 | } |
| 1600 | 1600 | |
| 1601 | 1601 | |
@@ -1614,32 +1614,32 @@ discard block |
||
| 1614 | 1614 | * - False en cas d'erreur. |
| 1615 | 1615 | **/ |
| 1616 | 1616 | function spip_sqlite_selectdb($db, $serveur = '', $requeter = true) { |
| 1617 | - _sqlite_init(); |
|
| 1617 | + _sqlite_init(); |
|
| 1618 | 1618 | |
| 1619 | - // interdire la creation d'une nouvelle base, |
|
| 1620 | - // sauf si on est dans l'installation |
|
| 1621 | - if ( |
|
| 1622 | - !is_file($f = _DIR_DB . $db . '.sqlite') |
|
| 1623 | - && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL) |
|
| 1624 | - ) { |
|
| 1625 | - spip_log("Il est interdit de creer la base $db", 'sqlite.' . _LOG_HS); |
|
| 1619 | + // interdire la creation d'une nouvelle base, |
|
| 1620 | + // sauf si on est dans l'installation |
|
| 1621 | + if ( |
|
| 1622 | + !is_file($f = _DIR_DB . $db . '.sqlite') |
|
| 1623 | + && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL) |
|
| 1624 | + ) { |
|
| 1625 | + spip_log("Il est interdit de creer la base $db", 'sqlite.' . _LOG_HS); |
|
| 1626 | 1626 | |
| 1627 | - return false; |
|
| 1628 | - } |
|
| 1627 | + return false; |
|
| 1628 | + } |
|
| 1629 | 1629 | |
| 1630 | - // se connecter a la base indiquee |
|
| 1631 | - // avec les identifiants connus |
|
| 1632 | - $index = $serveur ? $serveur : 0; |
|
| 1630 | + // se connecter a la base indiquee |
|
| 1631 | + // avec les identifiants connus |
|
| 1632 | + $index = $serveur ? $serveur : 0; |
|
| 1633 | 1633 | |
| 1634 | - if ($link = spip_connect_db('', '', '', '', '@selectdb@' . $db, $serveur, '', '')) { |
|
| 1635 | - if (($db == $link['db']) && $GLOBALS['connexions'][$index] = $link) { |
|
| 1636 | - return $db; |
|
| 1637 | - } |
|
| 1638 | - } else { |
|
| 1639 | - spip_log("Impossible de selectionner la base $db", 'sqlite.' . _LOG_HS); |
|
| 1634 | + if ($link = spip_connect_db('', '', '', '', '@selectdb@' . $db, $serveur, '', '')) { |
|
| 1635 | + if (($db == $link['db']) && $GLOBALS['connexions'][$index] = $link) { |
|
| 1636 | + return $db; |
|
| 1637 | + } |
|
| 1638 | + } else { |
|
| 1639 | + spip_log("Impossible de selectionner la base $db", 'sqlite.' . _LOG_HS); |
|
| 1640 | 1640 | |
| 1641 | - return false; |
|
| 1642 | - } |
|
| 1641 | + return false; |
|
| 1642 | + } |
|
| 1643 | 1643 | } |
| 1644 | 1644 | |
| 1645 | 1645 | |
@@ -1654,8 +1654,8 @@ discard block |
||
| 1654 | 1654 | * @return void |
| 1655 | 1655 | */ |
| 1656 | 1656 | function spip_sqlite_set_charset($charset, $serveur = '', $requeter = true) { |
| 1657 | - # spip_log("Gestion charset sql a ecrire : "."SET NAMES "._q($charset), 'sqlite.'._LOG_ERREUR); |
|
| 1658 | - # return spip_sqlite_query("SET NAMES ". spip_sqlite_quote($charset), $serveur); //<-- Passe pas ! |
|
| 1657 | + # spip_log("Gestion charset sql a ecrire : "."SET NAMES "._q($charset), 'sqlite.'._LOG_ERREUR); |
|
| 1658 | + # return spip_sqlite_query("SET NAMES ". spip_sqlite_quote($charset), $serveur); //<-- Passe pas ! |
|
| 1659 | 1659 | } |
| 1660 | 1660 | |
| 1661 | 1661 | |
@@ -1673,24 +1673,24 @@ discard block |
||
| 1673 | 1673 | * Ressource à utiliser avec sql_fetch() |
| 1674 | 1674 | **/ |
| 1675 | 1675 | function spip_sqlite_showbase($match, $serveur = '', $requeter = true) { |
| 1676 | - // type est le type d'entrée : table / index / view |
|
| 1677 | - // on ne retourne que les tables (?) et non les vues... |
|
| 1678 | - # ESCAPE non supporte par les versions sqlite <3 |
|
| 1679 | - # return spip_sqlite_query("SELECT name FROM sqlite_master WHERE type='table' AND tbl_name LIKE "._q($match)." ESCAPE '\'", $serveur, $requeter); |
|
| 1680 | - $match = preg_quote($match); |
|
| 1681 | - $match = str_replace('\\\_', '[[TIRETBAS]]', $match); |
|
| 1682 | - $match = str_replace('\\\%', '[[POURCENT]]', $match); |
|
| 1683 | - $match = str_replace('_', '.', $match); |
|
| 1684 | - $match = str_replace('%', '.*', $match); |
|
| 1685 | - $match = str_replace('[[TIRETBAS]]', '_', $match); |
|
| 1686 | - $match = str_replace('[[POURCENT]]', '%', $match); |
|
| 1687 | - $match = "^$match$"; |
|
| 1688 | - |
|
| 1689 | - return spip_sqlite_query( |
|
| 1690 | - "SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP " . _q($match), |
|
| 1691 | - $serveur, |
|
| 1692 | - $requeter |
|
| 1693 | - ); |
|
| 1676 | + // type est le type d'entrée : table / index / view |
|
| 1677 | + // on ne retourne que les tables (?) et non les vues... |
|
| 1678 | + # ESCAPE non supporte par les versions sqlite <3 |
|
| 1679 | + # return spip_sqlite_query("SELECT name FROM sqlite_master WHERE type='table' AND tbl_name LIKE "._q($match)." ESCAPE '\'", $serveur, $requeter); |
|
| 1680 | + $match = preg_quote($match); |
|
| 1681 | + $match = str_replace('\\\_', '[[TIRETBAS]]', $match); |
|
| 1682 | + $match = str_replace('\\\%', '[[POURCENT]]', $match); |
|
| 1683 | + $match = str_replace('_', '.', $match); |
|
| 1684 | + $match = str_replace('%', '.*', $match); |
|
| 1685 | + $match = str_replace('[[TIRETBAS]]', '_', $match); |
|
| 1686 | + $match = str_replace('[[POURCENT]]', '%', $match); |
|
| 1687 | + $match = "^$match$"; |
|
| 1688 | + |
|
| 1689 | + return spip_sqlite_query( |
|
| 1690 | + "SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP " . _q($match), |
|
| 1691 | + $serveur, |
|
| 1692 | + $requeter |
|
| 1693 | + ); |
|
| 1694 | 1694 | } |
| 1695 | 1695 | |
| 1696 | 1696 | define('_SQLITE_RE_SHOW_TABLE', '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'); |
@@ -1713,129 +1713,129 @@ discard block |
||
| 1713 | 1713 | * - array description de la table sinon |
| 1714 | 1714 | */ |
| 1715 | 1715 | function spip_sqlite_showtable($nom_table, $serveur = '', $requeter = true) { |
| 1716 | - $query = |
|
| 1717 | - 'SELECT sql, type FROM' |
|
| 1718 | - . ' (SELECT * FROM sqlite_master UNION ALL' |
|
| 1719 | - . ' SELECT * FROM sqlite_temp_master)' |
|
| 1720 | - . " WHERE tbl_name LIKE '$nom_table'" |
|
| 1721 | - . " AND type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%'" |
|
| 1722 | - . ' ORDER BY substr(type,2,1), name'; |
|
| 1723 | - |
|
| 1724 | - $a = spip_sqlite_query($query, $serveur, $requeter); |
|
| 1725 | - if (!$a) { |
|
| 1726 | - return ''; |
|
| 1727 | - } |
|
| 1728 | - if (!$requeter) { |
|
| 1729 | - return $a; |
|
| 1730 | - } |
|
| 1731 | - if (!($a = spip_sqlite_fetch($a, null, $serveur))) { |
|
| 1732 | - return ''; |
|
| 1733 | - } |
|
| 1734 | - $vue = ($a['type'] == 'view'); // table | vue |
|
| 1735 | - |
|
| 1736 | - // c'est une table |
|
| 1737 | - // il faut parser le create |
|
| 1738 | - if (!$vue) { |
|
| 1739 | - if (!preg_match(_SQLITE_RE_SHOW_TABLE, array_shift($a), $r)) { |
|
| 1740 | - return ''; |
|
| 1741 | - } else { |
|
| 1742 | - $desc = $r[1]; |
|
| 1743 | - // extraction d'une KEY éventuelle en prenant garde de ne pas |
|
| 1744 | - // relever un champ dont le nom contient KEY (ex. ID_WHISKEY) |
|
| 1745 | - if (preg_match('/^(.*?),([^,]*\sKEY[ (].*)$/s', $desc, $r)) { |
|
| 1746 | - $namedkeys = $r[2]; |
|
| 1747 | - $desc = $r[1]; |
|
| 1748 | - } else { |
|
| 1749 | - $namedkeys = ''; |
|
| 1750 | - } |
|
| 1751 | - |
|
| 1752 | - $fields = []; |
|
| 1753 | - $keys = []; |
|
| 1754 | - |
|
| 1755 | - // enlever les contenus des valeurs DEFAULT 'xxx' qui pourraient perturber |
|
| 1756 | - // par exemple s'il contiennent une virgule. |
|
| 1757 | - // /!\ cela peut aussi echapper le nom des champs si la table a eu des operations avec SQLite Manager ! |
|
| 1758 | - list($desc, $echaps) = query_echappe_textes($desc); |
|
| 1759 | - |
|
| 1760 | - // separer toutes les descriptions de champs, separes par des virgules |
|
| 1761 | - # /!\ explode peut exploser aussi DECIMAL(10,2) ! |
|
| 1762 | - $k_precedent = null; |
|
| 1763 | - foreach (explode(',', $desc) as $v) { |
|
| 1764 | - preg_match('/^\s*([^\s]+)\s+(.*)/', $v, $r); |
|
| 1765 | - // Les cles de champs peuvent etre entourees |
|
| 1766 | - // de guillements doubles " , simples ', graves ` ou de crochets [ ], ou rien. |
|
| 1767 | - // http://www.sqlite.org/lang_keywords.html |
|
| 1768 | - $k = strtolower(query_reinjecte_textes($r[1], $echaps)); // champ, "champ", [champ]... |
|
| 1769 | - if ($char = strpbrk($k[0], '\'"[`')) { |
|
| 1770 | - $k = trim($k, $char); |
|
| 1771 | - if ($char == '[') { |
|
| 1772 | - $k = rtrim($k, ']'); |
|
| 1773 | - } |
|
| 1774 | - } |
|
| 1775 | - $def = query_reinjecte_textes($r[2], $echaps); // valeur du champ |
|
| 1776 | - |
|
| 1777 | - // rustine pour DECIMAL(10,2) |
|
| 1778 | - // s'il y a une parenthèse fermante dans la clé |
|
| 1779 | - // ou dans la définition sans qu'il n'y ait une ouverture avant |
|
| 1780 | - if (false !== strpos($k, ')') or preg_match('/^[^\(]*\)/', $def)) { |
|
| 1781 | - $fields[$k_precedent] .= ',' . $k . ' ' . $def; |
|
| 1782 | - continue; |
|
| 1783 | - } |
|
| 1784 | - |
|
| 1785 | - // la primary key peut etre dans une des descriptions de champs |
|
| 1786 | - // et non en fin de table, cas encore decouvert avec Sqlite Manager |
|
| 1787 | - if (stripos($r[2], 'PRIMARY KEY') !== false) { |
|
| 1788 | - $keys['PRIMARY KEY'] = $k; |
|
| 1789 | - } |
|
| 1790 | - |
|
| 1791 | - $fields[$k] = $def; |
|
| 1792 | - $k_precedent = $k; |
|
| 1793 | - } |
|
| 1794 | - // key inclues dans la requete |
|
| 1795 | - foreach (preg_split('/\)\s*(,|$)/', $namedkeys) as $v) { |
|
| 1796 | - if (preg_match('/^\s*([^(]*)\(([^(]*(\(\d+\))?)$/', $v, $r)) { |
|
| 1797 | - $k = str_replace('`', '', trim($r[1])); |
|
| 1798 | - $t = trim(strtolower(str_replace('`', '', $r[2])), '"'); |
|
| 1799 | - if ($k && !isset($keys[$k])) { |
|
| 1800 | - $keys[$k] = $t; |
|
| 1801 | - } else { |
|
| 1802 | - $keys[] = $t; |
|
| 1803 | - } |
|
| 1804 | - } |
|
| 1805 | - } |
|
| 1806 | - // sinon ajouter les key index |
|
| 1807 | - $query = |
|
| 1808 | - 'SELECT name,sql FROM' |
|
| 1809 | - . ' (SELECT * FROM sqlite_master UNION ALL' |
|
| 1810 | - . ' SELECT * FROM sqlite_temp_master)' |
|
| 1811 | - . " WHERE tbl_name LIKE '$nom_table'" |
|
| 1812 | - . " AND type='index' AND name NOT LIKE 'sqlite_%'" |
|
| 1813 | - . 'ORDER BY substr(type,2,1), name'; |
|
| 1814 | - $a = spip_sqlite_query($query, $serveur, $requeter); |
|
| 1815 | - while ($r = spip_sqlite_fetch($a, null, $serveur)) { |
|
| 1816 | - $key = str_replace($nom_table . '_', '', $r['name']); // enlever le nom de la table ajoute a l'index |
|
| 1817 | - $keytype = 'KEY'; |
|
| 1818 | - if (strpos($r['sql'], 'UNIQUE INDEX') !== false) { |
|
| 1819 | - $keytype = 'UNIQUE KEY'; |
|
| 1820 | - } |
|
| 1821 | - $colonnes = preg_replace(',.*\((.*)\).*,', '$1', $r['sql']); |
|
| 1822 | - $keys[$keytype . ' ' . $key] = $colonnes; |
|
| 1823 | - } |
|
| 1824 | - } |
|
| 1825 | - } // c'est une vue, on liste les champs disponibles simplement |
|
| 1826 | - else { |
|
| 1827 | - if ($res = sql_fetsel('*', $nom_table, '', '', '', '1', '', $serveur)) { // limit 1 |
|
| 1828 | - $fields = []; |
|
| 1829 | - foreach ($res as $c => $v) { |
|
| 1830 | - $fields[$c] = ''; |
|
| 1831 | - } |
|
| 1832 | - $keys = []; |
|
| 1833 | - } else { |
|
| 1834 | - return ''; |
|
| 1835 | - } |
|
| 1836 | - } |
|
| 1837 | - |
|
| 1838 | - return ['field' => $fields, 'key' => $keys]; |
|
| 1716 | + $query = |
|
| 1717 | + 'SELECT sql, type FROM' |
|
| 1718 | + . ' (SELECT * FROM sqlite_master UNION ALL' |
|
| 1719 | + . ' SELECT * FROM sqlite_temp_master)' |
|
| 1720 | + . " WHERE tbl_name LIKE '$nom_table'" |
|
| 1721 | + . " AND type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%'" |
|
| 1722 | + . ' ORDER BY substr(type,2,1), name'; |
|
| 1723 | + |
|
| 1724 | + $a = spip_sqlite_query($query, $serveur, $requeter); |
|
| 1725 | + if (!$a) { |
|
| 1726 | + return ''; |
|
| 1727 | + } |
|
| 1728 | + if (!$requeter) { |
|
| 1729 | + return $a; |
|
| 1730 | + } |
|
| 1731 | + if (!($a = spip_sqlite_fetch($a, null, $serveur))) { |
|
| 1732 | + return ''; |
|
| 1733 | + } |
|
| 1734 | + $vue = ($a['type'] == 'view'); // table | vue |
|
| 1735 | + |
|
| 1736 | + // c'est une table |
|
| 1737 | + // il faut parser le create |
|
| 1738 | + if (!$vue) { |
|
| 1739 | + if (!preg_match(_SQLITE_RE_SHOW_TABLE, array_shift($a), $r)) { |
|
| 1740 | + return ''; |
|
| 1741 | + } else { |
|
| 1742 | + $desc = $r[1]; |
|
| 1743 | + // extraction d'une KEY éventuelle en prenant garde de ne pas |
|
| 1744 | + // relever un champ dont le nom contient KEY (ex. ID_WHISKEY) |
|
| 1745 | + if (preg_match('/^(.*?),([^,]*\sKEY[ (].*)$/s', $desc, $r)) { |
|
| 1746 | + $namedkeys = $r[2]; |
|
| 1747 | + $desc = $r[1]; |
|
| 1748 | + } else { |
|
| 1749 | + $namedkeys = ''; |
|
| 1750 | + } |
|
| 1751 | + |
|
| 1752 | + $fields = []; |
|
| 1753 | + $keys = []; |
|
| 1754 | + |
|
| 1755 | + // enlever les contenus des valeurs DEFAULT 'xxx' qui pourraient perturber |
|
| 1756 | + // par exemple s'il contiennent une virgule. |
|
| 1757 | + // /!\ cela peut aussi echapper le nom des champs si la table a eu des operations avec SQLite Manager ! |
|
| 1758 | + list($desc, $echaps) = query_echappe_textes($desc); |
|
| 1759 | + |
|
| 1760 | + // separer toutes les descriptions de champs, separes par des virgules |
|
| 1761 | + # /!\ explode peut exploser aussi DECIMAL(10,2) ! |
|
| 1762 | + $k_precedent = null; |
|
| 1763 | + foreach (explode(',', $desc) as $v) { |
|
| 1764 | + preg_match('/^\s*([^\s]+)\s+(.*)/', $v, $r); |
|
| 1765 | + // Les cles de champs peuvent etre entourees |
|
| 1766 | + // de guillements doubles " , simples ', graves ` ou de crochets [ ], ou rien. |
|
| 1767 | + // http://www.sqlite.org/lang_keywords.html |
|
| 1768 | + $k = strtolower(query_reinjecte_textes($r[1], $echaps)); // champ, "champ", [champ]... |
|
| 1769 | + if ($char = strpbrk($k[0], '\'"[`')) { |
|
| 1770 | + $k = trim($k, $char); |
|
| 1771 | + if ($char == '[') { |
|
| 1772 | + $k = rtrim($k, ']'); |
|
| 1773 | + } |
|
| 1774 | + } |
|
| 1775 | + $def = query_reinjecte_textes($r[2], $echaps); // valeur du champ |
|
| 1776 | + |
|
| 1777 | + // rustine pour DECIMAL(10,2) |
|
| 1778 | + // s'il y a une parenthèse fermante dans la clé |
|
| 1779 | + // ou dans la définition sans qu'il n'y ait une ouverture avant |
|
| 1780 | + if (false !== strpos($k, ')') or preg_match('/^[^\(]*\)/', $def)) { |
|
| 1781 | + $fields[$k_precedent] .= ',' . $k . ' ' . $def; |
|
| 1782 | + continue; |
|
| 1783 | + } |
|
| 1784 | + |
|
| 1785 | + // la primary key peut etre dans une des descriptions de champs |
|
| 1786 | + // et non en fin de table, cas encore decouvert avec Sqlite Manager |
|
| 1787 | + if (stripos($r[2], 'PRIMARY KEY') !== false) { |
|
| 1788 | + $keys['PRIMARY KEY'] = $k; |
|
| 1789 | + } |
|
| 1790 | + |
|
| 1791 | + $fields[$k] = $def; |
|
| 1792 | + $k_precedent = $k; |
|
| 1793 | + } |
|
| 1794 | + // key inclues dans la requete |
|
| 1795 | + foreach (preg_split('/\)\s*(,|$)/', $namedkeys) as $v) { |
|
| 1796 | + if (preg_match('/^\s*([^(]*)\(([^(]*(\(\d+\))?)$/', $v, $r)) { |
|
| 1797 | + $k = str_replace('`', '', trim($r[1])); |
|
| 1798 | + $t = trim(strtolower(str_replace('`', '', $r[2])), '"'); |
|
| 1799 | + if ($k && !isset($keys[$k])) { |
|
| 1800 | + $keys[$k] = $t; |
|
| 1801 | + } else { |
|
| 1802 | + $keys[] = $t; |
|
| 1803 | + } |
|
| 1804 | + } |
|
| 1805 | + } |
|
| 1806 | + // sinon ajouter les key index |
|
| 1807 | + $query = |
|
| 1808 | + 'SELECT name,sql FROM' |
|
| 1809 | + . ' (SELECT * FROM sqlite_master UNION ALL' |
|
| 1810 | + . ' SELECT * FROM sqlite_temp_master)' |
|
| 1811 | + . " WHERE tbl_name LIKE '$nom_table'" |
|
| 1812 | + . " AND type='index' AND name NOT LIKE 'sqlite_%'" |
|
| 1813 | + . 'ORDER BY substr(type,2,1), name'; |
|
| 1814 | + $a = spip_sqlite_query($query, $serveur, $requeter); |
|
| 1815 | + while ($r = spip_sqlite_fetch($a, null, $serveur)) { |
|
| 1816 | + $key = str_replace($nom_table . '_', '', $r['name']); // enlever le nom de la table ajoute a l'index |
|
| 1817 | + $keytype = 'KEY'; |
|
| 1818 | + if (strpos($r['sql'], 'UNIQUE INDEX') !== false) { |
|
| 1819 | + $keytype = 'UNIQUE KEY'; |
|
| 1820 | + } |
|
| 1821 | + $colonnes = preg_replace(',.*\((.*)\).*,', '$1', $r['sql']); |
|
| 1822 | + $keys[$keytype . ' ' . $key] = $colonnes; |
|
| 1823 | + } |
|
| 1824 | + } |
|
| 1825 | + } // c'est une vue, on liste les champs disponibles simplement |
|
| 1826 | + else { |
|
| 1827 | + if ($res = sql_fetsel('*', $nom_table, '', '', '', '1', '', $serveur)) { // limit 1 |
|
| 1828 | + $fields = []; |
|
| 1829 | + foreach ($res as $c => $v) { |
|
| 1830 | + $fields[$c] = ''; |
|
| 1831 | + } |
|
| 1832 | + $keys = []; |
|
| 1833 | + } else { |
|
| 1834 | + return ''; |
|
| 1835 | + } |
|
| 1836 | + } |
|
| 1837 | + |
|
| 1838 | + return ['field' => $fields, 'key' => $keys]; |
|
| 1839 | 1839 | } |
| 1840 | 1840 | |
| 1841 | 1841 | |
@@ -1861,22 +1861,22 @@ discard block |
||
| 1861 | 1861 | * - array Tableau décrivant la requête et son temps d'exécution si var_profile est actif |
| 1862 | 1862 | */ |
| 1863 | 1863 | function spip_sqlite_update($table, $champs, $where = '', $desc = '', $serveur = '', $requeter = true) { |
| 1864 | - // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1865 | - $champs = _sqlite_ajouter_champs_timestamp($table, $champs, $desc, $serveur); |
|
| 1864 | + // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1865 | + $champs = _sqlite_ajouter_champs_timestamp($table, $champs, $desc, $serveur); |
|
| 1866 | 1866 | |
| 1867 | - $set = []; |
|
| 1868 | - foreach ($champs as $champ => $val) { |
|
| 1869 | - $set[] = $champ . "=$val"; |
|
| 1870 | - } |
|
| 1871 | - if (!empty($set)) { |
|
| 1872 | - return spip_sqlite_query( |
|
| 1873 | - _sqlite_calculer_expression('UPDATE', $table, ',') |
|
| 1874 | - . _sqlite_calculer_expression('SET', $set, ',') |
|
| 1875 | - . _sqlite_calculer_expression('WHERE', $where), |
|
| 1876 | - $serveur, |
|
| 1877 | - $requeter |
|
| 1878 | - ); |
|
| 1879 | - } |
|
| 1867 | + $set = []; |
|
| 1868 | + foreach ($champs as $champ => $val) { |
|
| 1869 | + $set[] = $champ . "=$val"; |
|
| 1870 | + } |
|
| 1871 | + if (!empty($set)) { |
|
| 1872 | + return spip_sqlite_query( |
|
| 1873 | + _sqlite_calculer_expression('UPDATE', $table, ',') |
|
| 1874 | + . _sqlite_calculer_expression('SET', $set, ',') |
|
| 1875 | + . _sqlite_calculer_expression('WHERE', $where), |
|
| 1876 | + $serveur, |
|
| 1877 | + $requeter |
|
| 1878 | + ); |
|
| 1879 | + } |
|
| 1880 | 1880 | } |
| 1881 | 1881 | |
| 1882 | 1882 | |
@@ -1906,38 +1906,38 @@ discard block |
||
| 1906 | 1906 | */ |
| 1907 | 1907 | function spip_sqlite_updateq($table, $champs, $where = '', $desc = [], $serveur = '', $requeter = true) { |
| 1908 | 1908 | |
| 1909 | - if (!$champs) { |
|
| 1910 | - return; |
|
| 1911 | - } |
|
| 1912 | - if (!$desc) { |
|
| 1913 | - $desc = description_table($table, $serveur); |
|
| 1914 | - } |
|
| 1915 | - if (!$desc) { |
|
| 1916 | - die("$table insertion sans description"); |
|
| 1917 | - } |
|
| 1918 | - $fields = $desc['field']; |
|
| 1919 | - |
|
| 1920 | - $set = []; |
|
| 1921 | - foreach ($champs as $champ => $val) { |
|
| 1922 | - $set[$champ] = $champ . '=' . _sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : ''); |
|
| 1923 | - } |
|
| 1924 | - |
|
| 1925 | - // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1926 | - // attention ils sont deja quotes |
|
| 1927 | - $maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur); |
|
| 1928 | - foreach ($maj as $champ => $val) { |
|
| 1929 | - if (!isset($set[$champ])) { |
|
| 1930 | - $set[$champ] = $champ . '=' . $val; |
|
| 1931 | - } |
|
| 1932 | - } |
|
| 1933 | - |
|
| 1934 | - return spip_sqlite_query( |
|
| 1935 | - _sqlite_calculer_expression('UPDATE', $table, ',') |
|
| 1936 | - . _sqlite_calculer_expression('SET', $set, ',') |
|
| 1937 | - . _sqlite_calculer_expression('WHERE', $where), |
|
| 1938 | - $serveur, |
|
| 1939 | - $requeter |
|
| 1940 | - ); |
|
| 1909 | + if (!$champs) { |
|
| 1910 | + return; |
|
| 1911 | + } |
|
| 1912 | + if (!$desc) { |
|
| 1913 | + $desc = description_table($table, $serveur); |
|
| 1914 | + } |
|
| 1915 | + if (!$desc) { |
|
| 1916 | + die("$table insertion sans description"); |
|
| 1917 | + } |
|
| 1918 | + $fields = $desc['field']; |
|
| 1919 | + |
|
| 1920 | + $set = []; |
|
| 1921 | + foreach ($champs as $champ => $val) { |
|
| 1922 | + $set[$champ] = $champ . '=' . _sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : ''); |
|
| 1923 | + } |
|
| 1924 | + |
|
| 1925 | + // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
|
| 1926 | + // attention ils sont deja quotes |
|
| 1927 | + $maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur); |
|
| 1928 | + foreach ($maj as $champ => $val) { |
|
| 1929 | + if (!isset($set[$champ])) { |
|
| 1930 | + $set[$champ] = $champ . '=' . $val; |
|
| 1931 | + } |
|
| 1932 | + } |
|
| 1933 | + |
|
| 1934 | + return spip_sqlite_query( |
|
| 1935 | + _sqlite_calculer_expression('UPDATE', $table, ',') |
|
| 1936 | + . _sqlite_calculer_expression('SET', $set, ',') |
|
| 1937 | + . _sqlite_calculer_expression('WHERE', $where), |
|
| 1938 | + $serveur, |
|
| 1939 | + $requeter |
|
| 1940 | + ); |
|
| 1941 | 1941 | } |
| 1942 | 1942 | |
| 1943 | 1943 | |
@@ -1955,17 +1955,17 @@ discard block |
||
| 1955 | 1955 | * @return void |
| 1956 | 1956 | */ |
| 1957 | 1957 | function _sqlite_init() { |
| 1958 | - if (!defined('_DIR_DB')) { |
|
| 1959 | - define('_DIR_DB', _DIR_ETC . 'bases/'); |
|
| 1960 | - } |
|
| 1961 | - if (!defined('_SQLITE_CHMOD')) { |
|
| 1962 | - define('_SQLITE_CHMOD', _SPIP_CHMOD); |
|
| 1963 | - } |
|
| 1958 | + if (!defined('_DIR_DB')) { |
|
| 1959 | + define('_DIR_DB', _DIR_ETC . 'bases/'); |
|
| 1960 | + } |
|
| 1961 | + if (!defined('_SQLITE_CHMOD')) { |
|
| 1962 | + define('_SQLITE_CHMOD', _SPIP_CHMOD); |
|
| 1963 | + } |
|
| 1964 | 1964 | |
| 1965 | - if (!is_dir($d = _DIR_DB)) { |
|
| 1966 | - include_spip('inc/flock'); |
|
| 1967 | - sous_repertoire($d); |
|
| 1968 | - } |
|
| 1965 | + if (!is_dir($d = _DIR_DB)) { |
|
| 1966 | + include_spip('inc/flock'); |
|
| 1967 | + sous_repertoire($d); |
|
| 1968 | + } |
|
| 1969 | 1969 | } |
| 1970 | 1970 | |
| 1971 | 1971 | |
@@ -1979,20 +1979,20 @@ discard block |
||
| 1979 | 1979 | * @return bool|int |
| 1980 | 1980 | */ |
| 1981 | 1981 | function _sqlite_is_version($version = '', $link = '', $serveur = '', $requeter = true) { |
| 1982 | - if ($link === '') { |
|
| 1983 | - $link = _sqlite_link($serveur); |
|
| 1984 | - } |
|
| 1985 | - if (!$link) { |
|
| 1986 | - return false; |
|
| 1987 | - } |
|
| 1982 | + if ($link === '') { |
|
| 1983 | + $link = _sqlite_link($serveur); |
|
| 1984 | + } |
|
| 1985 | + if (!$link) { |
|
| 1986 | + return false; |
|
| 1987 | + } |
|
| 1988 | 1988 | |
| 1989 | - $v = 3; |
|
| 1989 | + $v = 3; |
|
| 1990 | 1990 | |
| 1991 | - if (!$version) { |
|
| 1992 | - return $v; |
|
| 1993 | - } |
|
| 1991 | + if (!$version) { |
|
| 1992 | + return $v; |
|
| 1993 | + } |
|
| 1994 | 1994 | |
| 1995 | - return ($version == $v); |
|
| 1995 | + return ($version == $v); |
|
| 1996 | 1996 | } |
| 1997 | 1997 | |
| 1998 | 1998 | |
@@ -2003,9 +2003,9 @@ discard block |
||
| 2003 | 2003 | * @return Object Information de connexion pour SQLite |
| 2004 | 2004 | */ |
| 2005 | 2005 | function _sqlite_link($serveur = '') { |
| 2006 | - $link = &$GLOBALS['connexions'][$serveur ? $serveur : 0]['link']; |
|
| 2006 | + $link = &$GLOBALS['connexions'][$serveur ? $serveur : 0]['link']; |
|
| 2007 | 2007 | |
| 2008 | - return $link; |
|
| 2008 | + return $link; |
|
| 2009 | 2009 | } |
| 2010 | 2010 | |
| 2011 | 2011 | |
@@ -2020,52 +2020,52 @@ discard block |
||
| 2020 | 2020 | * @return string|number Texte ou nombre échappé |
| 2021 | 2021 | */ |
| 2022 | 2022 | function _sqlite_calculer_cite($v, $type) { |
| 2023 | - if ($type) { |
|
| 2024 | - if ( |
|
| 2025 | - is_null($v) |
|
| 2026 | - and stripos($type, 'NOT NULL') === false |
|
| 2027 | - ) { |
|
| 2028 | - return 'NULL'; |
|
| 2029 | - } // null php se traduit en NULL SQL |
|
| 2030 | - |
|
| 2031 | - if (sql_test_date($type) and preg_match('/^\w+\(/', $v)) { |
|
| 2032 | - return $v; |
|
| 2033 | - } |
|
| 2034 | - if (sql_test_int($type)) { |
|
| 2035 | - if (is_numeric($v)) { |
|
| 2036 | - return $v; |
|
| 2037 | - } elseif (ctype_xdigit(substr($v, 2)) and strncmp($v, '0x', 2) == 0) { |
|
| 2038 | - return hexdec(substr($v, 2)); |
|
| 2039 | - } else { |
|
| 2040 | - return intval($v); |
|
| 2041 | - } |
|
| 2042 | - } |
|
| 2043 | - } else { |
|
| 2044 | - // si on ne connait pas le type on le deduit de $v autant que possible |
|
| 2045 | - if (is_bool($v)) { |
|
| 2046 | - return strval(intval($v)); |
|
| 2047 | - } |
|
| 2048 | - elseif (is_numeric($v)) { |
|
| 2049 | - return strval($v); |
|
| 2050 | - } |
|
| 2051 | - } |
|
| 2052 | - |
|
| 2053 | - // trouver un link sqlite pour faire l'echappement |
|
| 2054 | - foreach ($GLOBALS['connexions'] as $s) { |
|
| 2055 | - if ( |
|
| 2056 | - $l = $s['link'] |
|
| 2057 | - and is_object($l) |
|
| 2058 | - and $l instanceof \PDO |
|
| 2059 | - and $l->getAttribute(\PDO::ATTR_DRIVER_NAME) === 'sqlite' |
|
| 2060 | - ) { |
|
| 2061 | - return $l->quote($v); |
|
| 2062 | - } |
|
| 2063 | - } |
|
| 2064 | - |
|
| 2065 | - // echapper les ' en '' |
|
| 2066 | - spip_log('Pas de methode ->quote pour echapper', 'sqlite.' . _LOG_INFO_IMPORTANTE); |
|
| 2067 | - |
|
| 2068 | - return ("'" . str_replace("'", "''", $v) . "'"); |
|
| 2023 | + if ($type) { |
|
| 2024 | + if ( |
|
| 2025 | + is_null($v) |
|
| 2026 | + and stripos($type, 'NOT NULL') === false |
|
| 2027 | + ) { |
|
| 2028 | + return 'NULL'; |
|
| 2029 | + } // null php se traduit en NULL SQL |
|
| 2030 | + |
|
| 2031 | + if (sql_test_date($type) and preg_match('/^\w+\(/', $v)) { |
|
| 2032 | + return $v; |
|
| 2033 | + } |
|
| 2034 | + if (sql_test_int($type)) { |
|
| 2035 | + if (is_numeric($v)) { |
|
| 2036 | + return $v; |
|
| 2037 | + } elseif (ctype_xdigit(substr($v, 2)) and strncmp($v, '0x', 2) == 0) { |
|
| 2038 | + return hexdec(substr($v, 2)); |
|
| 2039 | + } else { |
|
| 2040 | + return intval($v); |
|
| 2041 | + } |
|
| 2042 | + } |
|
| 2043 | + } else { |
|
| 2044 | + // si on ne connait pas le type on le deduit de $v autant que possible |
|
| 2045 | + if (is_bool($v)) { |
|
| 2046 | + return strval(intval($v)); |
|
| 2047 | + } |
|
| 2048 | + elseif (is_numeric($v)) { |
|
| 2049 | + return strval($v); |
|
| 2050 | + } |
|
| 2051 | + } |
|
| 2052 | + |
|
| 2053 | + // trouver un link sqlite pour faire l'echappement |
|
| 2054 | + foreach ($GLOBALS['connexions'] as $s) { |
|
| 2055 | + if ( |
|
| 2056 | + $l = $s['link'] |
|
| 2057 | + and is_object($l) |
|
| 2058 | + and $l instanceof \PDO |
|
| 2059 | + and $l->getAttribute(\PDO::ATTR_DRIVER_NAME) === 'sqlite' |
|
| 2060 | + ) { |
|
| 2061 | + return $l->quote($v); |
|
| 2062 | + } |
|
| 2063 | + } |
|
| 2064 | + |
|
| 2065 | + // echapper les ' en '' |
|
| 2066 | + spip_log('Pas de methode ->quote pour echapper', 'sqlite.' . _LOG_INFO_IMPORTANTE); |
|
| 2067 | + |
|
| 2068 | + return ("'" . str_replace("'", "''", $v) . "'"); |
|
| 2069 | 2069 | } |
| 2070 | 2070 | |
| 2071 | 2071 | |
@@ -2081,21 +2081,21 @@ discard block |
||
| 2081 | 2081 | * @return string Texte de l'expression, une partie donc, du texte la requête. |
| 2082 | 2082 | */ |
| 2083 | 2083 | function _sqlite_calculer_expression($expression, $v, $join = 'AND') { |
| 2084 | - if (empty($v)) { |
|
| 2085 | - return ''; |
|
| 2086 | - } |
|
| 2084 | + if (empty($v)) { |
|
| 2085 | + return ''; |
|
| 2086 | + } |
|
| 2087 | 2087 | |
| 2088 | - $exp = "\n$expression "; |
|
| 2088 | + $exp = "\n$expression "; |
|
| 2089 | 2089 | |
| 2090 | - if (!is_array($v)) { |
|
| 2091 | - return $exp . $v; |
|
| 2092 | - } else { |
|
| 2093 | - if (strtoupper($join) === 'AND') { |
|
| 2094 | - return $exp . join("\n\t$join ", array_map('_sqlite_calculer_where', $v)); |
|
| 2095 | - } else { |
|
| 2096 | - return $exp . join($join, $v); |
|
| 2097 | - } |
|
| 2098 | - } |
|
| 2090 | + if (!is_array($v)) { |
|
| 2091 | + return $exp . $v; |
|
| 2092 | + } else { |
|
| 2093 | + if (strtoupper($join) === 'AND') { |
|
| 2094 | + return $exp . join("\n\t$join ", array_map('_sqlite_calculer_where', $v)); |
|
| 2095 | + } else { |
|
| 2096 | + return $exp . join($join, $v); |
|
| 2097 | + } |
|
| 2098 | + } |
|
| 2099 | 2099 | } |
| 2100 | 2100 | |
| 2101 | 2101 | |
@@ -2111,7 +2111,7 @@ discard block |
||
| 2111 | 2111 | * @return string Texte du orderby préparé |
| 2112 | 2112 | */ |
| 2113 | 2113 | function _sqlite_calculer_order($orderby) { |
| 2114 | - return (is_array($orderby)) ? join(', ', $orderby) : $orderby; |
|
| 2114 | + return (is_array($orderby)) ? join(', ', $orderby) : $orderby; |
|
| 2115 | 2115 | } |
| 2116 | 2116 | |
| 2117 | 2117 | |
@@ -2122,26 +2122,26 @@ discard block |
||
| 2122 | 2122 | * @return string Sélection de colonnes pour une clause SELECT |
| 2123 | 2123 | */ |
| 2124 | 2124 | function _sqlite_calculer_select_as($args) { |
| 2125 | - $res = ''; |
|
| 2126 | - foreach ($args as $k => $v) { |
|
| 2127 | - if (substr($k, -1) == '@') { |
|
| 2128 | - // c'est une jointure qui se refere au from precedent |
|
| 2129 | - // pas de virgule |
|
| 2130 | - $res .= ' ' . $v; |
|
| 2131 | - } else { |
|
| 2132 | - if (!is_numeric($k)) { |
|
| 2133 | - $p = strpos($v, ' '); |
|
| 2134 | - if ($p) { |
|
| 2135 | - $v = substr($v, 0, $p) . " AS '$k'" . substr($v, $p); |
|
| 2136 | - } else { |
|
| 2137 | - $v .= " AS '$k'"; |
|
| 2138 | - } |
|
| 2139 | - } |
|
| 2140 | - $res .= ', ' . $v; |
|
| 2141 | - } |
|
| 2142 | - } |
|
| 2143 | - |
|
| 2144 | - return substr($res, 2); |
|
| 2125 | + $res = ''; |
|
| 2126 | + foreach ($args as $k => $v) { |
|
| 2127 | + if (substr($k, -1) == '@') { |
|
| 2128 | + // c'est une jointure qui se refere au from precedent |
|
| 2129 | + // pas de virgule |
|
| 2130 | + $res .= ' ' . $v; |
|
| 2131 | + } else { |
|
| 2132 | + if (!is_numeric($k)) { |
|
| 2133 | + $p = strpos($v, ' '); |
|
| 2134 | + if ($p) { |
|
| 2135 | + $v = substr($v, 0, $p) . " AS '$k'" . substr($v, $p); |
|
| 2136 | + } else { |
|
| 2137 | + $v .= " AS '$k'"; |
|
| 2138 | + } |
|
| 2139 | + } |
|
| 2140 | + $res .= ', ' . $v; |
|
| 2141 | + } |
|
| 2142 | + } |
|
| 2143 | + |
|
| 2144 | + return substr($res, 2); |
|
| 2145 | 2145 | } |
| 2146 | 2146 | |
| 2147 | 2147 | |
@@ -2164,26 +2164,26 @@ discard block |
||
| 2164 | 2164 | * Contrainte pour clause WHERE |
| 2165 | 2165 | */ |
| 2166 | 2166 | function _sqlite_calculer_where($v) { |
| 2167 | - if (!is_array($v)) { |
|
| 2168 | - return $v; |
|
| 2169 | - } |
|
| 2170 | - |
|
| 2171 | - $op = array_shift($v); |
|
| 2172 | - if (!($n = count($v))) { |
|
| 2173 | - return $op; |
|
| 2174 | - } else { |
|
| 2175 | - $arg = _sqlite_calculer_where(array_shift($v)); |
|
| 2176 | - if ($n == 1) { |
|
| 2177 | - return "$op($arg)"; |
|
| 2178 | - } else { |
|
| 2179 | - $arg2 = _sqlite_calculer_where(array_shift($v)); |
|
| 2180 | - if ($n == 2) { |
|
| 2181 | - return "($arg $op $arg2)"; |
|
| 2182 | - } else { |
|
| 2183 | - return "($arg $op ($arg2) : $v[0])"; |
|
| 2184 | - } |
|
| 2185 | - } |
|
| 2186 | - } |
|
| 2167 | + if (!is_array($v)) { |
|
| 2168 | + return $v; |
|
| 2169 | + } |
|
| 2170 | + |
|
| 2171 | + $op = array_shift($v); |
|
| 2172 | + if (!($n = count($v))) { |
|
| 2173 | + return $op; |
|
| 2174 | + } else { |
|
| 2175 | + $arg = _sqlite_calculer_where(array_shift($v)); |
|
| 2176 | + if ($n == 1) { |
|
| 2177 | + return "$op($arg)"; |
|
| 2178 | + } else { |
|
| 2179 | + $arg2 = _sqlite_calculer_where(array_shift($v)); |
|
| 2180 | + if ($n == 2) { |
|
| 2181 | + return "($arg $op $arg2)"; |
|
| 2182 | + } else { |
|
| 2183 | + return "($arg $op ($arg2) : $v[0])"; |
|
| 2184 | + } |
|
| 2185 | + } |
|
| 2186 | + } |
|
| 2187 | 2187 | } |
| 2188 | 2188 | |
| 2189 | 2189 | |
@@ -2198,19 +2198,19 @@ discard block |
||
| 2198 | 2198 | * @return array|bool |
| 2199 | 2199 | */ |
| 2200 | 2200 | function _sqlite_charger_version($version = '') { |
| 2201 | - $versions = []; |
|
| 2201 | + $versions = []; |
|
| 2202 | 2202 | |
| 2203 | - // version 3 |
|
| 2204 | - if (!$version || $version == 3) { |
|
| 2205 | - if (extension_loaded('pdo') && extension_loaded('pdo_sqlite')) { |
|
| 2206 | - $versions[] = 3; |
|
| 2207 | - } |
|
| 2208 | - } |
|
| 2209 | - if ($version) { |
|
| 2210 | - return in_array($version, $versions); |
|
| 2211 | - } |
|
| 2203 | + // version 3 |
|
| 2204 | + if (!$version || $version == 3) { |
|
| 2205 | + if (extension_loaded('pdo') && extension_loaded('pdo_sqlite')) { |
|
| 2206 | + $versions[] = 3; |
|
| 2207 | + } |
|
| 2208 | + } |
|
| 2209 | + if ($version) { |
|
| 2210 | + return in_array($version, $versions); |
|
| 2211 | + } |
|
| 2212 | 2212 | |
| 2213 | - return $versions; |
|
| 2213 | + return $versions; |
|
| 2214 | 2214 | } |
| 2215 | 2215 | |
| 2216 | 2216 | |
@@ -2248,147 +2248,147 @@ discard block |
||
| 2248 | 2248 | */ |
| 2249 | 2249 | function _sqlite_modifier_table($table, $colonne, $opt = [], $serveur = '') { |
| 2250 | 2250 | |
| 2251 | - if (is_array($table)) { |
|
| 2252 | - $table_destination = reset($table); |
|
| 2253 | - $table_origine = key($table); |
|
| 2254 | - } else { |
|
| 2255 | - $table_origine = $table_destination = $table; |
|
| 2256 | - } |
|
| 2257 | - // ne prend actuellement qu'un changement |
|
| 2258 | - // mais pourra etre adapte pour changer plus qu'une colonne a la fois |
|
| 2259 | - if (is_array($colonne)) { |
|
| 2260 | - $colonne_destination = reset($colonne); |
|
| 2261 | - $colonne_origine = key($colonne); |
|
| 2262 | - } else { |
|
| 2263 | - $colonne_origine = $colonne_destination = $colonne; |
|
| 2264 | - } |
|
| 2265 | - if (!isset($opt['field'])) { |
|
| 2266 | - $opt['field'] = []; |
|
| 2267 | - } |
|
| 2268 | - if (!isset($opt['key'])) { |
|
| 2269 | - $opt['key'] = []; |
|
| 2270 | - } |
|
| 2271 | - |
|
| 2272 | - // si les noms de tables sont differents, pas besoin de table temporaire |
|
| 2273 | - // on prendra directement le nom de la future table |
|
| 2274 | - $meme_table = ($table_origine == $table_destination); |
|
| 2275 | - |
|
| 2276 | - $def_origine = sql_showtable($table_origine, false, $serveur); |
|
| 2277 | - if (!$def_origine or !isset($def_origine['field'])) { |
|
| 2278 | - spip_log("Alter table impossible sur $table_origine : table non trouvee", 'sqlite' . _LOG_ERREUR); |
|
| 2279 | - |
|
| 2280 | - return false; |
|
| 2281 | - } |
|
| 2282 | - |
|
| 2283 | - |
|
| 2284 | - $table_tmp = $table_origine . '_tmp'; |
|
| 2285 | - |
|
| 2286 | - // 1) creer une table temporaire avec les modifications |
|
| 2287 | - // - DROP : suppression de la colonne |
|
| 2288 | - // - CHANGE : modification de la colonne |
|
| 2289 | - // (foreach pour conserver l'ordre des champs) |
|
| 2290 | - |
|
| 2291 | - // field |
|
| 2292 | - $fields = []; |
|
| 2293 | - // pour le INSERT INTO plus loin |
|
| 2294 | - // stocker la correspondance nouvelles->anciennes colonnes |
|
| 2295 | - $fields_correspondances = []; |
|
| 2296 | - foreach ($def_origine['field'] as $c => $d) { |
|
| 2297 | - if ($colonne_origine && ($c == $colonne_origine)) { |
|
| 2298 | - // si pas DROP |
|
| 2299 | - if ($colonne_destination) { |
|
| 2300 | - $fields[$colonne_destination] = $opt['field'][$colonne_destination]; |
|
| 2301 | - $fields_correspondances[$colonne_destination] = $c; |
|
| 2302 | - } |
|
| 2303 | - } else { |
|
| 2304 | - $fields[$c] = $d; |
|
| 2305 | - $fields_correspondances[$c] = $c; |
|
| 2306 | - } |
|
| 2307 | - } |
|
| 2308 | - // cas de ADD sqlite2 (ajout du champ en fin de table): |
|
| 2309 | - if (!$colonne_origine && $colonne_destination) { |
|
| 2310 | - $fields[$colonne_destination] = $opt['field'][$colonne_destination]; |
|
| 2311 | - } |
|
| 2312 | - |
|
| 2313 | - // key... |
|
| 2314 | - $keys = []; |
|
| 2315 | - foreach ($def_origine['key'] as $c => $d) { |
|
| 2316 | - $c = str_replace($colonne_origine, $colonne_destination, $c); |
|
| 2317 | - $d = str_replace($colonne_origine, $colonne_destination, $d); |
|
| 2318 | - // seulement si on ne supprime pas la colonne ! |
|
| 2319 | - if ($d) { |
|
| 2320 | - $keys[$c] = $d; |
|
| 2321 | - } |
|
| 2322 | - } |
|
| 2323 | - |
|
| 2324 | - // autres keys, on merge |
|
| 2325 | - $keys = array_merge($keys, $opt['key']); |
|
| 2326 | - $queries = []; |
|
| 2327 | - |
|
| 2328 | - // copier dans destination (si differente de origine), sinon tmp |
|
| 2329 | - $table_copie = ($meme_table) ? $table_tmp : $table_destination; |
|
| 2330 | - $autoinc = (isset($keys['PRIMARY KEY']) |
|
| 2331 | - and $keys['PRIMARY KEY'] |
|
| 2332 | - and stripos($keys['PRIMARY KEY'], ',') === false |
|
| 2333 | - and stripos($fields[$keys['PRIMARY KEY']], 'default') === false); |
|
| 2334 | - |
|
| 2335 | - if ( |
|
| 2336 | - $q = _sqlite_requete_create( |
|
| 2337 | - $table_copie, |
|
| 2338 | - $fields, |
|
| 2339 | - $keys, |
|
| 2340 | - $autoinc, |
|
| 2341 | - $temporary = false, |
|
| 2342 | - $ifnotexists = true, |
|
| 2343 | - $serveur |
|
| 2344 | - ) |
|
| 2345 | - ) { |
|
| 2346 | - $queries[] = $q; |
|
| 2347 | - } |
|
| 2348 | - |
|
| 2349 | - |
|
| 2350 | - // 2) y copier les champs qui vont bien |
|
| 2351 | - $champs_dest = join(', ', array_keys($fields_correspondances)); |
|
| 2352 | - $champs_ori = join(', ', $fields_correspondances); |
|
| 2353 | - $queries[] = "INSERT INTO $table_copie ($champs_dest) SELECT $champs_ori FROM $table_origine"; |
|
| 2354 | - |
|
| 2355 | - // 3) supprimer la table d'origine |
|
| 2356 | - $queries[] = "DROP TABLE $table_origine"; |
|
| 2357 | - |
|
| 2358 | - // 4) renommer la table temporaire |
|
| 2359 | - // avec le nom de la table destination |
|
| 2360 | - // si necessaire |
|
| 2361 | - if ($meme_table) { |
|
| 2362 | - $queries[] = "ALTER TABLE $table_copie RENAME TO $table_destination"; |
|
| 2363 | - } |
|
| 2364 | - |
|
| 2365 | - // 5) remettre les index ! |
|
| 2366 | - foreach ($keys as $k => $v) { |
|
| 2367 | - if ($k == 'PRIMARY KEY') { |
|
| 2368 | - } else { |
|
| 2369 | - // enlever KEY |
|
| 2370 | - $k = substr($k, 4); |
|
| 2371 | - $queries[] = "CREATE INDEX $table_destination" . "_$k ON $table_destination ($v)"; |
|
| 2372 | - } |
|
| 2373 | - } |
|
| 2374 | - |
|
| 2375 | - |
|
| 2376 | - if (count($queries)) { |
|
| 2377 | - spip_sqlite::demarrer_transaction($serveur); |
|
| 2378 | - // il faut les faire une par une car $query = join('; ', $queries).";"; ne fonctionne pas |
|
| 2379 | - foreach ($queries as $q) { |
|
| 2380 | - if (!spip_sqlite::executer_requete($q, $serveur)) { |
|
| 2381 | - spip_log('SQLite : ALTER TABLE table :' |
|
| 2382 | - . " Erreur a l'execution de la requete : $q", 'sqlite.' . _LOG_ERREUR); |
|
| 2383 | - spip_sqlite::annuler_transaction($serveur); |
|
| 2384 | - |
|
| 2385 | - return false; |
|
| 2386 | - } |
|
| 2387 | - } |
|
| 2388 | - spip_sqlite::finir_transaction($serveur); |
|
| 2389 | - } |
|
| 2390 | - |
|
| 2391 | - return true; |
|
| 2251 | + if (is_array($table)) { |
|
| 2252 | + $table_destination = reset($table); |
|
| 2253 | + $table_origine = key($table); |
|
| 2254 | + } else { |
|
| 2255 | + $table_origine = $table_destination = $table; |
|
| 2256 | + } |
|
| 2257 | + // ne prend actuellement qu'un changement |
|
| 2258 | + // mais pourra etre adapte pour changer plus qu'une colonne a la fois |
|
| 2259 | + if (is_array($colonne)) { |
|
| 2260 | + $colonne_destination = reset($colonne); |
|
| 2261 | + $colonne_origine = key($colonne); |
|
| 2262 | + } else { |
|
| 2263 | + $colonne_origine = $colonne_destination = $colonne; |
|
| 2264 | + } |
|
| 2265 | + if (!isset($opt['field'])) { |
|
| 2266 | + $opt['field'] = []; |
|
| 2267 | + } |
|
| 2268 | + if (!isset($opt['key'])) { |
|
| 2269 | + $opt['key'] = []; |
|
| 2270 | + } |
|
| 2271 | + |
|
| 2272 | + // si les noms de tables sont differents, pas besoin de table temporaire |
|
| 2273 | + // on prendra directement le nom de la future table |
|
| 2274 | + $meme_table = ($table_origine == $table_destination); |
|
| 2275 | + |
|
| 2276 | + $def_origine = sql_showtable($table_origine, false, $serveur); |
|
| 2277 | + if (!$def_origine or !isset($def_origine['field'])) { |
|
| 2278 | + spip_log("Alter table impossible sur $table_origine : table non trouvee", 'sqlite' . _LOG_ERREUR); |
|
| 2279 | + |
|
| 2280 | + return false; |
|
| 2281 | + } |
|
| 2282 | + |
|
| 2283 | + |
|
| 2284 | + $table_tmp = $table_origine . '_tmp'; |
|
| 2285 | + |
|
| 2286 | + // 1) creer une table temporaire avec les modifications |
|
| 2287 | + // - DROP : suppression de la colonne |
|
| 2288 | + // - CHANGE : modification de la colonne |
|
| 2289 | + // (foreach pour conserver l'ordre des champs) |
|
| 2290 | + |
|
| 2291 | + // field |
|
| 2292 | + $fields = []; |
|
| 2293 | + // pour le INSERT INTO plus loin |
|
| 2294 | + // stocker la correspondance nouvelles->anciennes colonnes |
|
| 2295 | + $fields_correspondances = []; |
|
| 2296 | + foreach ($def_origine['field'] as $c => $d) { |
|
| 2297 | + if ($colonne_origine && ($c == $colonne_origine)) { |
|
| 2298 | + // si pas DROP |
|
| 2299 | + if ($colonne_destination) { |
|
| 2300 | + $fields[$colonne_destination] = $opt['field'][$colonne_destination]; |
|
| 2301 | + $fields_correspondances[$colonne_destination] = $c; |
|
| 2302 | + } |
|
| 2303 | + } else { |
|
| 2304 | + $fields[$c] = $d; |
|
| 2305 | + $fields_correspondances[$c] = $c; |
|
| 2306 | + } |
|
| 2307 | + } |
|
| 2308 | + // cas de ADD sqlite2 (ajout du champ en fin de table): |
|
| 2309 | + if (!$colonne_origine && $colonne_destination) { |
|
| 2310 | + $fields[$colonne_destination] = $opt['field'][$colonne_destination]; |
|
| 2311 | + } |
|
| 2312 | + |
|
| 2313 | + // key... |
|
| 2314 | + $keys = []; |
|
| 2315 | + foreach ($def_origine['key'] as $c => $d) { |
|
| 2316 | + $c = str_replace($colonne_origine, $colonne_destination, $c); |
|
| 2317 | + $d = str_replace($colonne_origine, $colonne_destination, $d); |
|
| 2318 | + // seulement si on ne supprime pas la colonne ! |
|
| 2319 | + if ($d) { |
|
| 2320 | + $keys[$c] = $d; |
|
| 2321 | + } |
|
| 2322 | + } |
|
| 2323 | + |
|
| 2324 | + // autres keys, on merge |
|
| 2325 | + $keys = array_merge($keys, $opt['key']); |
|
| 2326 | + $queries = []; |
|
| 2327 | + |
|
| 2328 | + // copier dans destination (si differente de origine), sinon tmp |
|
| 2329 | + $table_copie = ($meme_table) ? $table_tmp : $table_destination; |
|
| 2330 | + $autoinc = (isset($keys['PRIMARY KEY']) |
|
| 2331 | + and $keys['PRIMARY KEY'] |
|
| 2332 | + and stripos($keys['PRIMARY KEY'], ',') === false |
|
| 2333 | + and stripos($fields[$keys['PRIMARY KEY']], 'default') === false); |
|
| 2334 | + |
|
| 2335 | + if ( |
|
| 2336 | + $q = _sqlite_requete_create( |
|
| 2337 | + $table_copie, |
|
| 2338 | + $fields, |
|
| 2339 | + $keys, |
|
| 2340 | + $autoinc, |
|
| 2341 | + $temporary = false, |
|
| 2342 | + $ifnotexists = true, |
|
| 2343 | + $serveur |
|
| 2344 | + ) |
|
| 2345 | + ) { |
|
| 2346 | + $queries[] = $q; |
|
| 2347 | + } |
|
| 2348 | + |
|
| 2349 | + |
|
| 2350 | + // 2) y copier les champs qui vont bien |
|
| 2351 | + $champs_dest = join(', ', array_keys($fields_correspondances)); |
|
| 2352 | + $champs_ori = join(', ', $fields_correspondances); |
|
| 2353 | + $queries[] = "INSERT INTO $table_copie ($champs_dest) SELECT $champs_ori FROM $table_origine"; |
|
| 2354 | + |
|
| 2355 | + // 3) supprimer la table d'origine |
|
| 2356 | + $queries[] = "DROP TABLE $table_origine"; |
|
| 2357 | + |
|
| 2358 | + // 4) renommer la table temporaire |
|
| 2359 | + // avec le nom de la table destination |
|
| 2360 | + // si necessaire |
|
| 2361 | + if ($meme_table) { |
|
| 2362 | + $queries[] = "ALTER TABLE $table_copie RENAME TO $table_destination"; |
|
| 2363 | + } |
|
| 2364 | + |
|
| 2365 | + // 5) remettre les index ! |
|
| 2366 | + foreach ($keys as $k => $v) { |
|
| 2367 | + if ($k == 'PRIMARY KEY') { |
|
| 2368 | + } else { |
|
| 2369 | + // enlever KEY |
|
| 2370 | + $k = substr($k, 4); |
|
| 2371 | + $queries[] = "CREATE INDEX $table_destination" . "_$k ON $table_destination ($v)"; |
|
| 2372 | + } |
|
| 2373 | + } |
|
| 2374 | + |
|
| 2375 | + |
|
| 2376 | + if (count($queries)) { |
|
| 2377 | + spip_sqlite::demarrer_transaction($serveur); |
|
| 2378 | + // il faut les faire une par une car $query = join('; ', $queries).";"; ne fonctionne pas |
|
| 2379 | + foreach ($queries as $q) { |
|
| 2380 | + if (!spip_sqlite::executer_requete($q, $serveur)) { |
|
| 2381 | + spip_log('SQLite : ALTER TABLE table :' |
|
| 2382 | + . " Erreur a l'execution de la requete : $q", 'sqlite.' . _LOG_ERREUR); |
|
| 2383 | + spip_sqlite::annuler_transaction($serveur); |
|
| 2384 | + |
|
| 2385 | + return false; |
|
| 2386 | + } |
|
| 2387 | + } |
|
| 2388 | + spip_sqlite::finir_transaction($serveur); |
|
| 2389 | + } |
|
| 2390 | + |
|
| 2391 | + return true; |
|
| 2392 | 2392 | } |
| 2393 | 2393 | |
| 2394 | 2394 | |
@@ -2398,60 +2398,60 @@ discard block |
||
| 2398 | 2398 | * @return array |
| 2399 | 2399 | */ |
| 2400 | 2400 | function _sqlite_ref_fonctions() { |
| 2401 | - $fonctions = [ |
|
| 2402 | - 'alter' => 'spip_sqlite_alter', |
|
| 2403 | - 'count' => 'spip_sqlite_count', |
|
| 2404 | - 'countsel' => 'spip_sqlite_countsel', |
|
| 2405 | - 'create' => 'spip_sqlite_create', |
|
| 2406 | - 'create_base' => 'spip_sqlite_create_base', |
|
| 2407 | - 'create_view' => 'spip_sqlite_create_view', |
|
| 2408 | - 'date_proche' => 'spip_sqlite_date_proche', |
|
| 2409 | - 'delete' => 'spip_sqlite_delete', |
|
| 2410 | - 'drop_table' => 'spip_sqlite_drop_table', |
|
| 2411 | - 'drop_view' => 'spip_sqlite_drop_view', |
|
| 2412 | - 'errno' => 'spip_sqlite_errno', |
|
| 2413 | - 'error' => 'spip_sqlite_error', |
|
| 2414 | - 'explain' => 'spip_sqlite_explain', |
|
| 2415 | - 'fetch' => 'spip_sqlite_fetch', |
|
| 2416 | - 'seek' => 'spip_sqlite_seek', |
|
| 2417 | - 'free' => 'spip_sqlite_free', |
|
| 2418 | - 'hex' => 'spip_sqlite_hex', |
|
| 2419 | - 'in' => 'spip_sqlite_in', |
|
| 2420 | - 'insert' => 'spip_sqlite_insert', |
|
| 2421 | - 'insertq' => 'spip_sqlite_insertq', |
|
| 2422 | - 'insertq_multi' => 'spip_sqlite_insertq_multi', |
|
| 2423 | - 'listdbs' => 'spip_sqlite_listdbs', |
|
| 2424 | - 'multi' => 'spip_sqlite_multi', |
|
| 2425 | - 'optimize' => 'spip_sqlite_optimize', |
|
| 2426 | - 'query' => 'spip_sqlite_query', |
|
| 2427 | - 'quote' => 'spip_sqlite_quote', |
|
| 2428 | - 'repair' => 'spip_sqlite_repair', |
|
| 2429 | - 'replace' => 'spip_sqlite_replace', |
|
| 2430 | - 'replace_multi' => 'spip_sqlite_replace_multi', |
|
| 2431 | - 'select' => 'spip_sqlite_select', |
|
| 2432 | - 'selectdb' => 'spip_sqlite_selectdb', |
|
| 2433 | - 'set_charset' => 'spip_sqlite_set_charset', |
|
| 2434 | - 'get_charset' => 'spip_sqlite_get_charset', |
|
| 2435 | - 'showbase' => 'spip_sqlite_showbase', |
|
| 2436 | - 'showtable' => 'spip_sqlite_showtable', |
|
| 2437 | - 'update' => 'spip_sqlite_update', |
|
| 2438 | - 'updateq' => 'spip_sqlite_updateq', |
|
| 2439 | - 'preferer_transaction' => 'spip_sqlite_preferer_transaction', |
|
| 2440 | - 'demarrer_transaction' => 'spip_sqlite_demarrer_transaction', |
|
| 2441 | - 'terminer_transaction' => 'spip_sqlite_terminer_transaction', |
|
| 2442 | - ]; |
|
| 2443 | - |
|
| 2444 | - // association de chaque nom http d'un charset aux couples sqlite |
|
| 2445 | - // SQLite supporte utf-8 et utf-16 uniquement. |
|
| 2446 | - $charsets = [ |
|
| 2447 | - 'utf-8' => ['charset' => 'utf8', 'collation' => 'utf8_general_ci'], |
|
| 2448 | - //'utf-16be'=>array('charset'=>'utf16be','collation'=>'UTF-16BE'),// aucune idee de quoi il faut remplir dans es champs la |
|
| 2449 | - //'utf-16le'=>array('charset'=>'utf16le','collation'=>'UTF-16LE') |
|
| 2450 | - ]; |
|
| 2451 | - |
|
| 2452 | - $fonctions['charsets'] = $charsets; |
|
| 2453 | - |
|
| 2454 | - return $fonctions; |
|
| 2401 | + $fonctions = [ |
|
| 2402 | + 'alter' => 'spip_sqlite_alter', |
|
| 2403 | + 'count' => 'spip_sqlite_count', |
|
| 2404 | + 'countsel' => 'spip_sqlite_countsel', |
|
| 2405 | + 'create' => 'spip_sqlite_create', |
|
| 2406 | + 'create_base' => 'spip_sqlite_create_base', |
|
| 2407 | + 'create_view' => 'spip_sqlite_create_view', |
|
| 2408 | + 'date_proche' => 'spip_sqlite_date_proche', |
|
| 2409 | + 'delete' => 'spip_sqlite_delete', |
|
| 2410 | + 'drop_table' => 'spip_sqlite_drop_table', |
|
| 2411 | + 'drop_view' => 'spip_sqlite_drop_view', |
|
| 2412 | + 'errno' => 'spip_sqlite_errno', |
|
| 2413 | + 'error' => 'spip_sqlite_error', |
|
| 2414 | + 'explain' => 'spip_sqlite_explain', |
|
| 2415 | + 'fetch' => 'spip_sqlite_fetch', |
|
| 2416 | + 'seek' => 'spip_sqlite_seek', |
|
| 2417 | + 'free' => 'spip_sqlite_free', |
|
| 2418 | + 'hex' => 'spip_sqlite_hex', |
|
| 2419 | + 'in' => 'spip_sqlite_in', |
|
| 2420 | + 'insert' => 'spip_sqlite_insert', |
|
| 2421 | + 'insertq' => 'spip_sqlite_insertq', |
|
| 2422 | + 'insertq_multi' => 'spip_sqlite_insertq_multi', |
|
| 2423 | + 'listdbs' => 'spip_sqlite_listdbs', |
|
| 2424 | + 'multi' => 'spip_sqlite_multi', |
|
| 2425 | + 'optimize' => 'spip_sqlite_optimize', |
|
| 2426 | + 'query' => 'spip_sqlite_query', |
|
| 2427 | + 'quote' => 'spip_sqlite_quote', |
|
| 2428 | + 'repair' => 'spip_sqlite_repair', |
|
| 2429 | + 'replace' => 'spip_sqlite_replace', |
|
| 2430 | + 'replace_multi' => 'spip_sqlite_replace_multi', |
|
| 2431 | + 'select' => 'spip_sqlite_select', |
|
| 2432 | + 'selectdb' => 'spip_sqlite_selectdb', |
|
| 2433 | + 'set_charset' => 'spip_sqlite_set_charset', |
|
| 2434 | + 'get_charset' => 'spip_sqlite_get_charset', |
|
| 2435 | + 'showbase' => 'spip_sqlite_showbase', |
|
| 2436 | + 'showtable' => 'spip_sqlite_showtable', |
|
| 2437 | + 'update' => 'spip_sqlite_update', |
|
| 2438 | + 'updateq' => 'spip_sqlite_updateq', |
|
| 2439 | + 'preferer_transaction' => 'spip_sqlite_preferer_transaction', |
|
| 2440 | + 'demarrer_transaction' => 'spip_sqlite_demarrer_transaction', |
|
| 2441 | + 'terminer_transaction' => 'spip_sqlite_terminer_transaction', |
|
| 2442 | + ]; |
|
| 2443 | + |
|
| 2444 | + // association de chaque nom http d'un charset aux couples sqlite |
|
| 2445 | + // SQLite supporte utf-8 et utf-16 uniquement. |
|
| 2446 | + $charsets = [ |
|
| 2447 | + 'utf-8' => ['charset' => 'utf8', 'collation' => 'utf8_general_ci'], |
|
| 2448 | + //'utf-16be'=>array('charset'=>'utf16be','collation'=>'UTF-16BE'),// aucune idee de quoi il faut remplir dans es champs la |
|
| 2449 | + //'utf-16le'=>array('charset'=>'utf16le','collation'=>'UTF-16LE') |
|
| 2450 | + ]; |
|
| 2451 | + |
|
| 2452 | + $fonctions['charsets'] = $charsets; |
|
| 2453 | + |
|
| 2454 | + return $fonctions; |
|
| 2455 | 2455 | } |
| 2456 | 2456 | |
| 2457 | 2457 | |
@@ -2463,56 +2463,56 @@ discard block |
||
| 2463 | 2463 | * @return mixed |
| 2464 | 2464 | */ |
| 2465 | 2465 | function _sqlite_remplacements_definitions_table($query, $autoinc = false) { |
| 2466 | - // quelques remplacements |
|
| 2467 | - $num = '(\s*\([0-9]*\))?'; |
|
| 2468 | - $enum = '(\s*\([^\)]*\))?'; |
|
| 2469 | - |
|
| 2470 | - $remplace = [ |
|
| 2471 | - '/enum' . $enum . '/is' => 'VARCHAR(255)', |
|
| 2472 | - '/COLLATE \w+_bin/is' => 'COLLATE BINARY', |
|
| 2473 | - '/COLLATE \w+_ci/is' => 'COLLATE NOCASE', |
|
| 2474 | - '/auto_increment/is' => '', |
|
| 2475 | - '/current_timestamp\(\)/is' => 'CURRENT_TIMESTAMP', // Fix export depuis mariaDB #4374 |
|
| 2476 | - '/(timestamp .* )ON .*$/is' => '\\1', |
|
| 2477 | - '/character set \w+/is' => '', |
|
| 2478 | - '/((big|small|medium|tiny)?int(eger)?)' . $num . '\s*unsigned/is' => '\\1 UNSIGNED', |
|
| 2479 | - '/(text\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''", |
|
| 2480 | - '/((char|varchar)' . $num . '\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''", |
|
| 2481 | - '/(datetime\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00 00:00:00'", |
|
| 2482 | - '/(date\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00'", |
|
| 2483 | - ]; |
|
| 2484 | - |
|
| 2485 | - // pour l'autoincrement, il faut des INTEGER NOT NULL PRIMARY KEY |
|
| 2486 | - $remplace_autocinc = [ |
|
| 2487 | - '/(big|small|medium|tiny)?int(eger)?' . $num . '/is' => 'INTEGER' |
|
| 2488 | - ]; |
|
| 2489 | - // pour les int non autoincrement, il faut un DEFAULT |
|
| 2490 | - $remplace_nonautocinc = [ |
|
| 2491 | - '/((big|small|medium|tiny)?int(eger)?' . $num . '\s+not\s+null)\s*$/is' => "\\1 DEFAULT 0", |
|
| 2492 | - ]; |
|
| 2493 | - |
|
| 2494 | - if (is_string($query)) { |
|
| 2495 | - $query = preg_replace(array_keys($remplace), $remplace, $query); |
|
| 2496 | - if ($autoinc or preg_match(',AUTO_INCREMENT,is', $query)) { |
|
| 2497 | - $query = preg_replace(array_keys($remplace_autocinc), $remplace_autocinc, $query); |
|
| 2498 | - } else { |
|
| 2499 | - $query = preg_replace(array_keys($remplace_nonautocinc), $remplace_nonautocinc, $query); |
|
| 2500 | - $query = _sqlite_collate_ci($query); |
|
| 2501 | - } |
|
| 2502 | - } elseif (is_array($query)) { |
|
| 2503 | - foreach ($query as $k => $q) { |
|
| 2504 | - $ai = ($autoinc ? $k == $autoinc : preg_match(',AUTO_INCREMENT,is', $q)); |
|
| 2505 | - $query[$k] = preg_replace(array_keys($remplace), $remplace, $query[$k]); |
|
| 2506 | - if ($ai) { |
|
| 2507 | - $query[$k] = preg_replace(array_keys($remplace_autocinc), $remplace_autocinc, $query[$k]); |
|
| 2508 | - } else { |
|
| 2509 | - $query[$k] = preg_replace(array_keys($remplace_nonautocinc), $remplace_nonautocinc, $query[$k]); |
|
| 2510 | - $query[$k] = _sqlite_collate_ci($query[$k]); |
|
| 2511 | - } |
|
| 2512 | - } |
|
| 2513 | - } |
|
| 2514 | - |
|
| 2515 | - return $query; |
|
| 2466 | + // quelques remplacements |
|
| 2467 | + $num = '(\s*\([0-9]*\))?'; |
|
| 2468 | + $enum = '(\s*\([^\)]*\))?'; |
|
| 2469 | + |
|
| 2470 | + $remplace = [ |
|
| 2471 | + '/enum' . $enum . '/is' => 'VARCHAR(255)', |
|
| 2472 | + '/COLLATE \w+_bin/is' => 'COLLATE BINARY', |
|
| 2473 | + '/COLLATE \w+_ci/is' => 'COLLATE NOCASE', |
|
| 2474 | + '/auto_increment/is' => '', |
|
| 2475 | + '/current_timestamp\(\)/is' => 'CURRENT_TIMESTAMP', // Fix export depuis mariaDB #4374 |
|
| 2476 | + '/(timestamp .* )ON .*$/is' => '\\1', |
|
| 2477 | + '/character set \w+/is' => '', |
|
| 2478 | + '/((big|small|medium|tiny)?int(eger)?)' . $num . '\s*unsigned/is' => '\\1 UNSIGNED', |
|
| 2479 | + '/(text\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''", |
|
| 2480 | + '/((char|varchar)' . $num . '\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''", |
|
| 2481 | + '/(datetime\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00 00:00:00'", |
|
| 2482 | + '/(date\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00'", |
|
| 2483 | + ]; |
|
| 2484 | + |
|
| 2485 | + // pour l'autoincrement, il faut des INTEGER NOT NULL PRIMARY KEY |
|
| 2486 | + $remplace_autocinc = [ |
|
| 2487 | + '/(big|small|medium|tiny)?int(eger)?' . $num . '/is' => 'INTEGER' |
|
| 2488 | + ]; |
|
| 2489 | + // pour les int non autoincrement, il faut un DEFAULT |
|
| 2490 | + $remplace_nonautocinc = [ |
|
| 2491 | + '/((big|small|medium|tiny)?int(eger)?' . $num . '\s+not\s+null)\s*$/is' => "\\1 DEFAULT 0", |
|
| 2492 | + ]; |
|
| 2493 | + |
|
| 2494 | + if (is_string($query)) { |
|
| 2495 | + $query = preg_replace(array_keys($remplace), $remplace, $query); |
|
| 2496 | + if ($autoinc or preg_match(',AUTO_INCREMENT,is', $query)) { |
|
| 2497 | + $query = preg_replace(array_keys($remplace_autocinc), $remplace_autocinc, $query); |
|
| 2498 | + } else { |
|
| 2499 | + $query = preg_replace(array_keys($remplace_nonautocinc), $remplace_nonautocinc, $query); |
|
| 2500 | + $query = _sqlite_collate_ci($query); |
|
| 2501 | + } |
|
| 2502 | + } elseif (is_array($query)) { |
|
| 2503 | + foreach ($query as $k => $q) { |
|
| 2504 | + $ai = ($autoinc ? $k == $autoinc : preg_match(',AUTO_INCREMENT,is', $q)); |
|
| 2505 | + $query[$k] = preg_replace(array_keys($remplace), $remplace, $query[$k]); |
|
| 2506 | + if ($ai) { |
|
| 2507 | + $query[$k] = preg_replace(array_keys($remplace_autocinc), $remplace_autocinc, $query[$k]); |
|
| 2508 | + } else { |
|
| 2509 | + $query[$k] = preg_replace(array_keys($remplace_nonautocinc), $remplace_nonautocinc, $query[$k]); |
|
| 2510 | + $query[$k] = _sqlite_collate_ci($query[$k]); |
|
| 2511 | + } |
|
| 2512 | + } |
|
| 2513 | + } |
|
| 2514 | + |
|
| 2515 | + return $query; |
|
| 2516 | 2516 | } |
| 2517 | 2517 | |
| 2518 | 2518 | /** |
@@ -2523,17 +2523,17 @@ discard block |
||
| 2523 | 2523 | * @return string |
| 2524 | 2524 | */ |
| 2525 | 2525 | function _sqlite_collate_ci($champ) { |
| 2526 | - if (stripos($champ, 'COLLATE') !== false) { |
|
| 2527 | - return $champ; |
|
| 2528 | - } |
|
| 2529 | - if (stripos($champ, 'BINARY') !== false) { |
|
| 2530 | - return str_ireplace('BINARY', 'COLLATE BINARY', $champ); |
|
| 2531 | - } |
|
| 2532 | - if (preg_match(',^(char|varchar|(long|small|medium|tiny)?text),i', $champ)) { |
|
| 2533 | - return $champ . ' COLLATE NOCASE'; |
|
| 2534 | - } |
|
| 2526 | + if (stripos($champ, 'COLLATE') !== false) { |
|
| 2527 | + return $champ; |
|
| 2528 | + } |
|
| 2529 | + if (stripos($champ, 'BINARY') !== false) { |
|
| 2530 | + return str_ireplace('BINARY', 'COLLATE BINARY', $champ); |
|
| 2531 | + } |
|
| 2532 | + if (preg_match(',^(char|varchar|(long|small|medium|tiny)?text),i', $champ)) { |
|
| 2533 | + return $champ . ' COLLATE NOCASE'; |
|
| 2534 | + } |
|
| 2535 | 2535 | |
| 2536 | - return $champ; |
|
| 2536 | + return $champ; |
|
| 2537 | 2537 | } |
| 2538 | 2538 | |
| 2539 | 2539 | |
@@ -2552,84 +2552,84 @@ discard block |
||
| 2552 | 2552 | * @return bool|string |
| 2553 | 2553 | */ |
| 2554 | 2554 | function _sqlite_requete_create( |
| 2555 | - $nom, |
|
| 2556 | - $champs, |
|
| 2557 | - $cles, |
|
| 2558 | - $autoinc = false, |
|
| 2559 | - $temporary = false, |
|
| 2560 | - $_ifnotexists = true, |
|
| 2561 | - $serveur = '', |
|
| 2562 | - $requeter = true |
|
| 2555 | + $nom, |
|
| 2556 | + $champs, |
|
| 2557 | + $cles, |
|
| 2558 | + $autoinc = false, |
|
| 2559 | + $temporary = false, |
|
| 2560 | + $_ifnotexists = true, |
|
| 2561 | + $serveur = '', |
|
| 2562 | + $requeter = true |
|
| 2563 | 2563 | ) { |
| 2564 | - $query = $keys = $s = $p = ''; |
|
| 2565 | - |
|
| 2566 | - // certains plugins declarent les tables (permet leur inclusion dans le dump) |
|
| 2567 | - // sans les renseigner (laisse le compilo recuperer la description) |
|
| 2568 | - if (!is_array($champs) || !is_array($cles)) { |
|
| 2569 | - return; |
|
| 2570 | - } |
|
| 2571 | - |
|
| 2572 | - // sqlite ne gere pas KEY tout court dans une requete CREATE TABLE |
|
| 2573 | - // il faut passer par des create index |
|
| 2574 | - // Il gere par contre primary key ! |
|
| 2575 | - // Soit la PK est definie dans les cles, soit dans un champs |
|
| 2576 | - // soit faussement dans les 2 (et dans ce cas, il faut l’enlever à un des 2 endroits !) |
|
| 2577 | - $pk = 'PRIMARY KEY'; |
|
| 2578 | - // le champ de cle primaire |
|
| 2579 | - $champ_pk = !empty($cles[$pk]) ? $cles[$pk] : ''; |
|
| 2580 | - |
|
| 2581 | - foreach ($champs as $k => $v) { |
|
| 2582 | - if (false !== stripos($v, $pk)) { |
|
| 2583 | - $champ_pk = $k; |
|
| 2584 | - // on n'en a plus besoin dans field, vu que defini dans key |
|
| 2585 | - $champs[$k] = preg_replace("/$pk/is", '', $champs[$k]); |
|
| 2586 | - break; |
|
| 2587 | - } |
|
| 2588 | - } |
|
| 2589 | - |
|
| 2590 | - if ($champ_pk) { |
|
| 2591 | - $keys = "\n\t\t$pk ($champ_pk)"; |
|
| 2592 | - } |
|
| 2593 | - // Pas de DEFAULT 0 sur les cles primaires en auto-increment |
|
| 2594 | - if ( |
|
| 2595 | - isset($champs[$champ_pk]) |
|
| 2596 | - and stripos($champs[$champ_pk], 'default 0') !== false |
|
| 2597 | - ) { |
|
| 2598 | - $champs[$champ_pk] = trim(str_ireplace('default 0', '', $champs[$champ_pk])); |
|
| 2599 | - } |
|
| 2600 | - |
|
| 2601 | - $champs = _sqlite_remplacements_definitions_table($champs, $autoinc ? $champ_pk : false); |
|
| 2602 | - foreach ($champs as $k => $v) { |
|
| 2603 | - $query .= "$s\n\t\t$k $v"; |
|
| 2604 | - $s = ','; |
|
| 2605 | - } |
|
| 2606 | - |
|
| 2607 | - $ifnotexists = ''; |
|
| 2608 | - if ($_ifnotexists) { |
|
| 2609 | - $version = spip_sqlite_fetch( |
|
| 2610 | - spip_sqlite_query('select sqlite_version() AS sqlite_version', $serveur), |
|
| 2611 | - '', |
|
| 2612 | - $serveur |
|
| 2613 | - ); |
|
| 2614 | - if (!function_exists('spip_version_compare')) { |
|
| 2615 | - include_spip('plugins/installer'); |
|
| 2616 | - } |
|
| 2617 | - |
|
| 2618 | - if ($version and spip_version_compare($version['sqlite_version'], '3.3.0', '>=')) { |
|
| 2619 | - $ifnotexists = ' IF NOT EXISTS'; |
|
| 2620 | - } else { |
|
| 2621 | - /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */ |
|
| 2622 | - $a = spip_sqlite_showtable($nom, $serveur); |
|
| 2623 | - if (isset($a['key']['KEY ' . $nom])) { |
|
| 2624 | - return true; |
|
| 2625 | - } |
|
| 2626 | - } |
|
| 2627 | - } |
|
| 2628 | - |
|
| 2629 | - $temporary = $temporary ? ' TEMPORARY' : ''; |
|
| 2630 | - $q = "CREATE$temporary TABLE$ifnotexists $nom ($query" . ($keys ? ",$keys" : '') . ")\n"; |
|
| 2631 | - |
|
| 2632 | - return $q; |
|
| 2564 | + $query = $keys = $s = $p = ''; |
|
| 2565 | + |
|
| 2566 | + // certains plugins declarent les tables (permet leur inclusion dans le dump) |
|
| 2567 | + // sans les renseigner (laisse le compilo recuperer la description) |
|
| 2568 | + if (!is_array($champs) || !is_array($cles)) { |
|
| 2569 | + return; |
|
| 2570 | + } |
|
| 2571 | + |
|
| 2572 | + // sqlite ne gere pas KEY tout court dans une requete CREATE TABLE |
|
| 2573 | + // il faut passer par des create index |
|
| 2574 | + // Il gere par contre primary key ! |
|
| 2575 | + // Soit la PK est definie dans les cles, soit dans un champs |
|
| 2576 | + // soit faussement dans les 2 (et dans ce cas, il faut l’enlever à un des 2 endroits !) |
|
| 2577 | + $pk = 'PRIMARY KEY'; |
|
| 2578 | + // le champ de cle primaire |
|
| 2579 | + $champ_pk = !empty($cles[$pk]) ? $cles[$pk] : ''; |
|
| 2580 | + |
|
| 2581 | + foreach ($champs as $k => $v) { |
|
| 2582 | + if (false !== stripos($v, $pk)) { |
|
| 2583 | + $champ_pk = $k; |
|
| 2584 | + // on n'en a plus besoin dans field, vu que defini dans key |
|
| 2585 | + $champs[$k] = preg_replace("/$pk/is", '', $champs[$k]); |
|
| 2586 | + break; |
|
| 2587 | + } |
|
| 2588 | + } |
|
| 2589 | + |
|
| 2590 | + if ($champ_pk) { |
|
| 2591 | + $keys = "\n\t\t$pk ($champ_pk)"; |
|
| 2592 | + } |
|
| 2593 | + // Pas de DEFAULT 0 sur les cles primaires en auto-increment |
|
| 2594 | + if ( |
|
| 2595 | + isset($champs[$champ_pk]) |
|
| 2596 | + and stripos($champs[$champ_pk], 'default 0') !== false |
|
| 2597 | + ) { |
|
| 2598 | + $champs[$champ_pk] = trim(str_ireplace('default 0', '', $champs[$champ_pk])); |
|
| 2599 | + } |
|
| 2600 | + |
|
| 2601 | + $champs = _sqlite_remplacements_definitions_table($champs, $autoinc ? $champ_pk : false); |
|
| 2602 | + foreach ($champs as $k => $v) { |
|
| 2603 | + $query .= "$s\n\t\t$k $v"; |
|
| 2604 | + $s = ','; |
|
| 2605 | + } |
|
| 2606 | + |
|
| 2607 | + $ifnotexists = ''; |
|
| 2608 | + if ($_ifnotexists) { |
|
| 2609 | + $version = spip_sqlite_fetch( |
|
| 2610 | + spip_sqlite_query('select sqlite_version() AS sqlite_version', $serveur), |
|
| 2611 | + '', |
|
| 2612 | + $serveur |
|
| 2613 | + ); |
|
| 2614 | + if (!function_exists('spip_version_compare')) { |
|
| 2615 | + include_spip('plugins/installer'); |
|
| 2616 | + } |
|
| 2617 | + |
|
| 2618 | + if ($version and spip_version_compare($version['sqlite_version'], '3.3.0', '>=')) { |
|
| 2619 | + $ifnotexists = ' IF NOT EXISTS'; |
|
| 2620 | + } else { |
|
| 2621 | + /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */ |
|
| 2622 | + $a = spip_sqlite_showtable($nom, $serveur); |
|
| 2623 | + if (isset($a['key']['KEY ' . $nom])) { |
|
| 2624 | + return true; |
|
| 2625 | + } |
|
| 2626 | + } |
|
| 2627 | + } |
|
| 2628 | + |
|
| 2629 | + $temporary = $temporary ? ' TEMPORARY' : ''; |
|
| 2630 | + $q = "CREATE$temporary TABLE$ifnotexists $nom ($query" . ($keys ? ",$keys" : '') . ")\n"; |
|
| 2631 | + |
|
| 2632 | + return $q; |
|
| 2633 | 2633 | } |
| 2634 | 2634 | |
| 2635 | 2635 | |
@@ -2648,41 +2648,41 @@ discard block |
||
| 2648 | 2648 | * @return |
| 2649 | 2649 | */ |
| 2650 | 2650 | function _sqlite_ajouter_champs_timestamp($table, $couples, $desc = '', $serveur = '') { |
| 2651 | - static $tables = []; |
|
| 2652 | - |
|
| 2653 | - if (!isset($tables[$table])) { |
|
| 2654 | - if (!$desc) { |
|
| 2655 | - $trouver_table = charger_fonction('trouver_table', 'base'); |
|
| 2656 | - $desc = $trouver_table($table, $serveur); |
|
| 2657 | - // si pas de description, on ne fait rien, ou on die() ? |
|
| 2658 | - if (!$desc) { |
|
| 2659 | - return $couples; |
|
| 2660 | - } |
|
| 2661 | - } |
|
| 2662 | - |
|
| 2663 | - // recherche des champs avec simplement 'TIMESTAMP' |
|
| 2664 | - // cependant, il faudra peut etre etendre |
|
| 2665 | - // avec la gestion de DEFAULT et ON UPDATE |
|
| 2666 | - // mais ceux-ci ne sont pas utilises dans le core |
|
| 2667 | - $tables[$table] = ['valeur' => [], 'cite' => [], 'desc' => []]; |
|
| 2668 | - |
|
| 2669 | - $now = _sqlite_func_now(true); |
|
| 2670 | - foreach ($desc['field'] as $k => $v) { |
|
| 2671 | - if (strpos(strtolower(ltrim($v)), 'timestamp') === 0) { |
|
| 2672 | - $tables[$table]['desc'][$k] = $v; |
|
| 2673 | - $tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]); |
|
| 2674 | - } |
|
| 2675 | - } |
|
| 2676 | - } |
|
| 2677 | - else { |
|
| 2678 | - $now = _sqlite_func_now(true); |
|
| 2679 | - foreach (array_keys($tables[$table]['desc']) as $k) { |
|
| 2680 | - $tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]); |
|
| 2681 | - } |
|
| 2682 | - } |
|
| 2683 | - |
|
| 2684 | - // ajout des champs type 'timestamp' absents |
|
| 2685 | - return array_merge($tables[$table]['valeur'], $couples); |
|
| 2651 | + static $tables = []; |
|
| 2652 | + |
|
| 2653 | + if (!isset($tables[$table])) { |
|
| 2654 | + if (!$desc) { |
|
| 2655 | + $trouver_table = charger_fonction('trouver_table', 'base'); |
|
| 2656 | + $desc = $trouver_table($table, $serveur); |
|
| 2657 | + // si pas de description, on ne fait rien, ou on die() ? |
|
| 2658 | + if (!$desc) { |
|
| 2659 | + return $couples; |
|
| 2660 | + } |
|
| 2661 | + } |
|
| 2662 | + |
|
| 2663 | + // recherche des champs avec simplement 'TIMESTAMP' |
|
| 2664 | + // cependant, il faudra peut etre etendre |
|
| 2665 | + // avec la gestion de DEFAULT et ON UPDATE |
|
| 2666 | + // mais ceux-ci ne sont pas utilises dans le core |
|
| 2667 | + $tables[$table] = ['valeur' => [], 'cite' => [], 'desc' => []]; |
|
| 2668 | + |
|
| 2669 | + $now = _sqlite_func_now(true); |
|
| 2670 | + foreach ($desc['field'] as $k => $v) { |
|
| 2671 | + if (strpos(strtolower(ltrim($v)), 'timestamp') === 0) { |
|
| 2672 | + $tables[$table]['desc'][$k] = $v; |
|
| 2673 | + $tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]); |
|
| 2674 | + } |
|
| 2675 | + } |
|
| 2676 | + } |
|
| 2677 | + else { |
|
| 2678 | + $now = _sqlite_func_now(true); |
|
| 2679 | + foreach (array_keys($tables[$table]['desc']) as $k) { |
|
| 2680 | + $tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]); |
|
| 2681 | + } |
|
| 2682 | + } |
|
| 2683 | + |
|
| 2684 | + // ajout des champs type 'timestamp' absents |
|
| 2685 | + return array_merge($tables[$table]['valeur'], $couples); |
|
| 2686 | 2686 | } |
| 2687 | 2687 | |
| 2688 | 2688 | |
@@ -2693,7 +2693,7 @@ discard block |
||
| 2693 | 2693 | * @return array|bool |
| 2694 | 2694 | */ |
| 2695 | 2695 | function spip_versions_sqlite() { |
| 2696 | - return _sqlite_charger_version(); |
|
| 2696 | + return _sqlite_charger_version(); |
|
| 2697 | 2697 | } |
| 2698 | 2698 | |
| 2699 | 2699 | /** |
@@ -2701,114 +2701,114 @@ discard block |
||
| 2701 | 2701 | * encadrées de transactions. |
| 2702 | 2702 | **/ |
| 2703 | 2703 | class spip_sqlite { |
| 2704 | - /** @var sqlite_requeteur[] Liste des instances de requêteurs créés */ |
|
| 2705 | - public static $requeteurs = []; |
|
| 2706 | - /** @var bool[] Pour chaque connexion, flag pour savoir si une transaction est en cours */ |
|
| 2707 | - public static $transaction_en_cours = []; |
|
| 2708 | - |
|
| 2709 | - |
|
| 2710 | - /** |
|
| 2711 | - * Retourne une unique instance du requêteur |
|
| 2712 | - * |
|
| 2713 | - * Retourne une instance unique du requêteur pour une connexion SQLite |
|
| 2714 | - * donnée |
|
| 2715 | - * |
|
| 2716 | - * @param string $serveur |
|
| 2717 | - * Nom du connecteur |
|
| 2718 | - * @return sqlite_requeteur |
|
| 2719 | - * Instance unique du requêteur |
|
| 2720 | - **/ |
|
| 2721 | - public static function requeteur($serveur) { |
|
| 2722 | - if (!isset(spip_sqlite::$requeteurs[$serveur])) { |
|
| 2723 | - spip_sqlite::$requeteurs[$serveur] = new sqlite_requeteur($serveur); |
|
| 2724 | - } |
|
| 2725 | - |
|
| 2726 | - return spip_sqlite::$requeteurs[$serveur]; |
|
| 2727 | - } |
|
| 2728 | - |
|
| 2729 | - /** |
|
| 2730 | - * Prépare le texte d'une requête avant son exécution |
|
| 2731 | - * |
|
| 2732 | - * Adapte la requête au format plus ou moins MySQL par un format |
|
| 2733 | - * compris de SQLite. |
|
| 2734 | - * |
|
| 2735 | - * Change les préfixes de tables SPIP par ceux véritables |
|
| 2736 | - * |
|
| 2737 | - * @param string $query Requête à préparer |
|
| 2738 | - * @param string $serveur Nom de la connexion |
|
| 2739 | - * @return string Requête préparée |
|
| 2740 | - */ |
|
| 2741 | - public static function traduire_requete($query, $serveur) { |
|
| 2742 | - $requeteur = spip_sqlite::requeteur($serveur); |
|
| 2743 | - $traducteur = new sqlite_traducteur($query, $requeteur->prefixe, $requeteur->sqlite_version); |
|
| 2744 | - |
|
| 2745 | - return $traducteur->traduire_requete(); |
|
| 2746 | - } |
|
| 2747 | - |
|
| 2748 | - /** |
|
| 2749 | - * Démarre une transaction |
|
| 2750 | - * |
|
| 2751 | - * @param string $serveur Nom de la connexion |
|
| 2752 | - **/ |
|
| 2753 | - public static function demarrer_transaction($serveur) { |
|
| 2754 | - spip_sqlite::executer_requete('BEGIN TRANSACTION', $serveur); |
|
| 2755 | - spip_sqlite::$transaction_en_cours[$serveur] = true; |
|
| 2756 | - } |
|
| 2757 | - |
|
| 2758 | - /** |
|
| 2759 | - * Exécute la requête donnée |
|
| 2760 | - * |
|
| 2761 | - * @param string $query Requête |
|
| 2762 | - * @param string $serveur Nom de la connexion |
|
| 2763 | - * @param null|bool $tracer Demander des statistiques (temps) ? |
|
| 2764 | - **/ |
|
| 2765 | - public static function executer_requete($query, $serveur, $tracer = null) { |
|
| 2766 | - $requeteur = spip_sqlite::requeteur($serveur); |
|
| 2767 | - |
|
| 2768 | - return $requeteur->executer_requete($query, $tracer); |
|
| 2769 | - } |
|
| 2770 | - |
|
| 2771 | - /** |
|
| 2772 | - * Obtient l'identifiant de la dernière ligne insérée ou modifiée |
|
| 2773 | - * |
|
| 2774 | - * @param string $serveur Nom de la connexion |
|
| 2775 | - * return int Identifiant |
|
| 2776 | - **/ |
|
| 2777 | - public static function last_insert_id($serveur) { |
|
| 2778 | - $requeteur = spip_sqlite::requeteur($serveur); |
|
| 2779 | - |
|
| 2780 | - return $requeteur->last_insert_id($serveur); |
|
| 2781 | - } |
|
| 2782 | - |
|
| 2783 | - /** |
|
| 2784 | - * Annule une transaction |
|
| 2785 | - * |
|
| 2786 | - * @param string $serveur Nom de la connexion |
|
| 2787 | - **/ |
|
| 2788 | - public static function annuler_transaction($serveur) { |
|
| 2789 | - spip_sqlite::executer_requete('ROLLBACK', $serveur); |
|
| 2790 | - spip_sqlite::$transaction_en_cours[$serveur] = false; |
|
| 2791 | - } |
|
| 2792 | - |
|
| 2793 | - /** |
|
| 2794 | - * Termine une transaction |
|
| 2795 | - * |
|
| 2796 | - * @param string $serveur Nom de la connexion |
|
| 2797 | - **/ |
|
| 2798 | - public static function finir_transaction($serveur) { |
|
| 2799 | - // si pas de transaction en cours, ne rien faire et le dire |
|
| 2800 | - if ( |
|
| 2801 | - !isset(spip_sqlite::$transaction_en_cours[$serveur]) |
|
| 2802 | - or spip_sqlite::$transaction_en_cours[$serveur] == false |
|
| 2803 | - ) { |
|
| 2804 | - return false; |
|
| 2805 | - } |
|
| 2806 | - // sinon fermer la transaction et retourner true |
|
| 2807 | - spip_sqlite::executer_requete('COMMIT', $serveur); |
|
| 2808 | - spip_sqlite::$transaction_en_cours[$serveur] = false; |
|
| 2809 | - |
|
| 2810 | - return true; |
|
| 2811 | - } |
|
| 2704 | + /** @var sqlite_requeteur[] Liste des instances de requêteurs créés */ |
|
| 2705 | + public static $requeteurs = []; |
|
| 2706 | + /** @var bool[] Pour chaque connexion, flag pour savoir si une transaction est en cours */ |
|
| 2707 | + public static $transaction_en_cours = []; |
|
| 2708 | + |
|
| 2709 | + |
|
| 2710 | + /** |
|
| 2711 | + * Retourne une unique instance du requêteur |
|
| 2712 | + * |
|
| 2713 | + * Retourne une instance unique du requêteur pour une connexion SQLite |
|
| 2714 | + * donnée |
|
| 2715 | + * |
|
| 2716 | + * @param string $serveur |
|
| 2717 | + * Nom du connecteur |
|
| 2718 | + * @return sqlite_requeteur |
|
| 2719 | + * Instance unique du requêteur |
|
| 2720 | + **/ |
|
| 2721 | + public static function requeteur($serveur) { |
|
| 2722 | + if (!isset(spip_sqlite::$requeteurs[$serveur])) { |
|
| 2723 | + spip_sqlite::$requeteurs[$serveur] = new sqlite_requeteur($serveur); |
|
| 2724 | + } |
|
| 2725 | + |
|
| 2726 | + return spip_sqlite::$requeteurs[$serveur]; |
|
| 2727 | + } |
|
| 2728 | + |
|
| 2729 | + /** |
|
| 2730 | + * Prépare le texte d'une requête avant son exécution |
|
| 2731 | + * |
|
| 2732 | + * Adapte la requête au format plus ou moins MySQL par un format |
|
| 2733 | + * compris de SQLite. |
|
| 2734 | + * |
|
| 2735 | + * Change les préfixes de tables SPIP par ceux véritables |
|
| 2736 | + * |
|
| 2737 | + * @param string $query Requête à préparer |
|
| 2738 | + * @param string $serveur Nom de la connexion |
|
| 2739 | + * @return string Requête préparée |
|
| 2740 | + */ |
|
| 2741 | + public static function traduire_requete($query, $serveur) { |
|
| 2742 | + $requeteur = spip_sqlite::requeteur($serveur); |
|
| 2743 | + $traducteur = new sqlite_traducteur($query, $requeteur->prefixe, $requeteur->sqlite_version); |
|
| 2744 | + |
|
| 2745 | + return $traducteur->traduire_requete(); |
|
| 2746 | + } |
|
| 2747 | + |
|
| 2748 | + /** |
|
| 2749 | + * Démarre une transaction |
|
| 2750 | + * |
|
| 2751 | + * @param string $serveur Nom de la connexion |
|
| 2752 | + **/ |
|
| 2753 | + public static function demarrer_transaction($serveur) { |
|
| 2754 | + spip_sqlite::executer_requete('BEGIN TRANSACTION', $serveur); |
|
| 2755 | + spip_sqlite::$transaction_en_cours[$serveur] = true; |
|
| 2756 | + } |
|
| 2757 | + |
|
| 2758 | + /** |
|
| 2759 | + * Exécute la requête donnée |
|
| 2760 | + * |
|
| 2761 | + * @param string $query Requête |
|
| 2762 | + * @param string $serveur Nom de la connexion |
|
| 2763 | + * @param null|bool $tracer Demander des statistiques (temps) ? |
|
| 2764 | + **/ |
|
| 2765 | + public static function executer_requete($query, $serveur, $tracer = null) { |
|
| 2766 | + $requeteur = spip_sqlite::requeteur($serveur); |
|
| 2767 | + |
|
| 2768 | + return $requeteur->executer_requete($query, $tracer); |
|
| 2769 | + } |
|
| 2770 | + |
|
| 2771 | + /** |
|
| 2772 | + * Obtient l'identifiant de la dernière ligne insérée ou modifiée |
|
| 2773 | + * |
|
| 2774 | + * @param string $serveur Nom de la connexion |
|
| 2775 | + * return int Identifiant |
|
| 2776 | + **/ |
|
| 2777 | + public static function last_insert_id($serveur) { |
|
| 2778 | + $requeteur = spip_sqlite::requeteur($serveur); |
|
| 2779 | + |
|
| 2780 | + return $requeteur->last_insert_id($serveur); |
|
| 2781 | + } |
|
| 2782 | + |
|
| 2783 | + /** |
|
| 2784 | + * Annule une transaction |
|
| 2785 | + * |
|
| 2786 | + * @param string $serveur Nom de la connexion |
|
| 2787 | + **/ |
|
| 2788 | + public static function annuler_transaction($serveur) { |
|
| 2789 | + spip_sqlite::executer_requete('ROLLBACK', $serveur); |
|
| 2790 | + spip_sqlite::$transaction_en_cours[$serveur] = false; |
|
| 2791 | + } |
|
| 2792 | + |
|
| 2793 | + /** |
|
| 2794 | + * Termine une transaction |
|
| 2795 | + * |
|
| 2796 | + * @param string $serveur Nom de la connexion |
|
| 2797 | + **/ |
|
| 2798 | + public static function finir_transaction($serveur) { |
|
| 2799 | + // si pas de transaction en cours, ne rien faire et le dire |
|
| 2800 | + if ( |
|
| 2801 | + !isset(spip_sqlite::$transaction_en_cours[$serveur]) |
|
| 2802 | + or spip_sqlite::$transaction_en_cours[$serveur] == false |
|
| 2803 | + ) { |
|
| 2804 | + return false; |
|
| 2805 | + } |
|
| 2806 | + // sinon fermer la transaction et retourner true |
|
| 2807 | + spip_sqlite::executer_requete('COMMIT', $serveur); |
|
| 2808 | + spip_sqlite::$transaction_en_cours[$serveur] = false; |
|
| 2809 | + |
|
| 2810 | + return true; |
|
| 2811 | + } |
|
| 2812 | 2812 | } |
| 2813 | 2813 | |
| 2814 | 2814 | /* |
@@ -2821,127 +2821,127 @@ discard block |
||
| 2821 | 2821 | */ |
| 2822 | 2822 | |
| 2823 | 2823 | class sqlite_requeteur { |
| 2824 | - /** @var string Texte de la requête */ |
|
| 2825 | - public $query = ''; // la requete |
|
| 2826 | - /** @var string Nom de la connexion */ |
|
| 2827 | - public $serveur = ''; |
|
| 2828 | - /** @var Ressource Identifiant de la connexion SQLite */ |
|
| 2829 | - public $link = ''; |
|
| 2830 | - /** @var string Prefixe des tables SPIP */ |
|
| 2831 | - public $prefixe = ''; |
|
| 2832 | - /** @var string Nom de la base de donnée */ |
|
| 2833 | - public $db = ''; |
|
| 2834 | - /** @var bool Doit-on tracer les requetes (var_profile) ? */ |
|
| 2835 | - public $tracer = false; // doit-on tracer les requetes (var_profile) |
|
| 2836 | - |
|
| 2837 | - /** @var string Version de SQLite (2 ou 3) */ |
|
| 2838 | - public $sqlite_version = ''; |
|
| 2839 | - |
|
| 2840 | - /** |
|
| 2841 | - * Constructeur |
|
| 2842 | - * |
|
| 2843 | - * @param string $serveur |
|
| 2844 | - * @return bool |
|
| 2845 | - */ |
|
| 2846 | - public function __construct($serveur = '') { |
|
| 2847 | - _sqlite_init(); |
|
| 2848 | - $this->serveur = strtolower($serveur); |
|
| 2849 | - |
|
| 2850 | - if (!($this->link = _sqlite_link($this->serveur)) && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)) { |
|
| 2851 | - spip_log('Aucune connexion sqlite (link)', 'sqlite.' . _LOG_ERREUR); |
|
| 2852 | - |
|
| 2853 | - return false; |
|
| 2854 | - } |
|
| 2855 | - |
|
| 2856 | - $this->sqlite_version = _sqlite_is_version('', $this->link); |
|
| 2857 | - |
|
| 2858 | - $this->prefixe = $GLOBALS['connexions'][$this->serveur ? $this->serveur : 0]['prefixe']; |
|
| 2859 | - $this->db = $GLOBALS['connexions'][$this->serveur ? $this->serveur : 0]['db']; |
|
| 2860 | - |
|
| 2861 | - // tracage des requetes ? |
|
| 2862 | - $this->tracer = (isset($_GET['var_profile']) && $_GET['var_profile']); |
|
| 2863 | - } |
|
| 2864 | - |
|
| 2865 | - /** |
|
| 2866 | - * Lancer la requête transmise et faire le tracage si demandé |
|
| 2867 | - * |
|
| 2868 | - * @param string $query |
|
| 2869 | - * Requête à exécuter |
|
| 2870 | - * @param bool|null $tracer |
|
| 2871 | - * true pour tracer la requête |
|
| 2872 | - * @return bool|SQLiteResult |
|
| 2873 | - */ |
|
| 2874 | - public function executer_requete($query, $tracer = null) { |
|
| 2875 | - if (is_null($tracer)) { |
|
| 2876 | - $tracer = $this->tracer; |
|
| 2877 | - } |
|
| 2878 | - $err = ''; |
|
| 2879 | - $t = 0; |
|
| 2880 | - if ($tracer or (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES)) { |
|
| 2881 | - include_spip('public/tracer'); |
|
| 2882 | - $t = trace_query_start(); |
|
| 2883 | - } |
|
| 2884 | - |
|
| 2885 | - # spip_log("requete: $this->serveur >> $query",'sqlite.'._LOG_DEBUG); // boum ? pourquoi ? |
|
| 2886 | - if ($this->link) { |
|
| 2887 | - // memoriser la derniere erreur PHP vue |
|
| 2888 | - $last_error = (function_exists('error_get_last') ? error_get_last() : ''); |
|
| 2889 | - $e = null; |
|
| 2890 | - // sauver la derniere requete |
|
| 2891 | - $GLOBALS['connexions'][$this->serveur ? $this->serveur : 0]['last'] = $query; |
|
| 2892 | - $GLOBALS['connexions'][$this->serveur ? $this->serveur : 0]['total_requetes']++; |
|
| 2893 | - |
|
| 2894 | - try { |
|
| 2895 | - $r = $this->link->query($query); |
|
| 2896 | - } catch (\PDOException $e) { |
|
| 2897 | - spip_log('PDOException: ' . $e->getMessage(), 'sqlite.' . _LOG_DEBUG); |
|
| 2898 | - $r = false; |
|
| 2899 | - } |
|
| 2900 | - // sauvegarde de la requete (elle y est deja dans $r->queryString) |
|
| 2901 | - # $r->spipQueryString = $query; |
|
| 2902 | - |
|
| 2903 | - // comptage : oblige de compter le nombre d'entrees retournees |
|
| 2904 | - // par une requete SELECT |
|
| 2905 | - // aucune autre solution ne donne le nombre attendu :( ! |
|
| 2906 | - // particulierement s'il y a des LIMIT dans la requete. |
|
| 2907 | - if (strtoupper(substr(ltrim($query), 0, 6)) == 'SELECT') { |
|
| 2908 | - if ($r) { |
|
| 2909 | - // noter le link et la query pour faire le comptage *si* on en a besoin |
|
| 2910 | - $r->spipSqliteRowCount = [$this->link, $query]; |
|
| 2911 | - } elseif ($r instanceof PDOStatement) { |
|
| 2912 | - $r->spipSqliteRowCount = 0; |
|
| 2913 | - } |
|
| 2914 | - } |
|
| 2915 | - |
|
| 2916 | - // loger les warnings/erreurs eventuels de sqlite remontant dans PHP |
|
| 2917 | - if ($e and $e instanceof \PDOException) { |
|
| 2918 | - $err = strip_tags($e->getMessage()) . ' in ' . $e->getFile() . ' line ' . $e->getLine(); |
|
| 2919 | - spip_log("$err - " . $query, 'sqlite.' . _LOG_ERREUR); |
|
| 2920 | - } elseif ($err = (function_exists('error_get_last') ? error_get_last() : '') and $err != $last_error) { |
|
| 2921 | - $err = strip_tags($err['message']) . ' in ' . $err['file'] . ' line ' . $err['line']; |
|
| 2922 | - spip_log("$err - " . $query, 'sqlite.' . _LOG_ERREUR); |
|
| 2923 | - } else { |
|
| 2924 | - $err = ''; |
|
| 2925 | - } |
|
| 2926 | - } else { |
|
| 2927 | - $r = false; |
|
| 2928 | - } |
|
| 2929 | - |
|
| 2930 | - if (spip_sqlite_errno($this->serveur)) { |
|
| 2931 | - $err .= spip_sqlite_error($query, $this->serveur); |
|
| 2932 | - } |
|
| 2933 | - |
|
| 2934 | - return $t ? trace_query_end($query, $t, $r, $err, $this->serveur) : $r; |
|
| 2935 | - } |
|
| 2936 | - |
|
| 2937 | - /** |
|
| 2938 | - * Obtient l'identifiant de la dernière ligne insérée ou modifiée |
|
| 2939 | - * |
|
| 2940 | - * @return int |
|
| 2941 | - **/ |
|
| 2942 | - public function last_insert_id() { |
|
| 2943 | - return $this->link->lastInsertId(); |
|
| 2944 | - } |
|
| 2824 | + /** @var string Texte de la requête */ |
|
| 2825 | + public $query = ''; // la requete |
|
| 2826 | + /** @var string Nom de la connexion */ |
|
| 2827 | + public $serveur = ''; |
|
| 2828 | + /** @var Ressource Identifiant de la connexion SQLite */ |
|
| 2829 | + public $link = ''; |
|
| 2830 | + /** @var string Prefixe des tables SPIP */ |
|
| 2831 | + public $prefixe = ''; |
|
| 2832 | + /** @var string Nom de la base de donnée */ |
|
| 2833 | + public $db = ''; |
|
| 2834 | + /** @var bool Doit-on tracer les requetes (var_profile) ? */ |
|
| 2835 | + public $tracer = false; // doit-on tracer les requetes (var_profile) |
|
| 2836 | + |
|
| 2837 | + /** @var string Version de SQLite (2 ou 3) */ |
|
| 2838 | + public $sqlite_version = ''; |
|
| 2839 | + |
|
| 2840 | + /** |
|
| 2841 | + * Constructeur |
|
| 2842 | + * |
|
| 2843 | + * @param string $serveur |
|
| 2844 | + * @return bool |
|
| 2845 | + */ |
|
| 2846 | + public function __construct($serveur = '') { |
|
| 2847 | + _sqlite_init(); |
|
| 2848 | + $this->serveur = strtolower($serveur); |
|
| 2849 | + |
|
| 2850 | + if (!($this->link = _sqlite_link($this->serveur)) && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)) { |
|
| 2851 | + spip_log('Aucune connexion sqlite (link)', 'sqlite.' . _LOG_ERREUR); |
|
| 2852 | + |
|
| 2853 | + return false; |
|
| 2854 | + } |
|
| 2855 | + |
|
| 2856 | + $this->sqlite_version = _sqlite_is_version('', $this->link); |
|
| 2857 | + |
|
| 2858 | + $this->prefixe = $GLOBALS['connexions'][$this->serveur ? $this->serveur : 0]['prefixe']; |
|
| 2859 | + $this->db = $GLOBALS['connexions'][$this->serveur ? $this->serveur : 0]['db']; |
|
| 2860 | + |
|
| 2861 | + // tracage des requetes ? |
|
| 2862 | + $this->tracer = (isset($_GET['var_profile']) && $_GET['var_profile']); |
|
| 2863 | + } |
|
| 2864 | + |
|
| 2865 | + /** |
|
| 2866 | + * Lancer la requête transmise et faire le tracage si demandé |
|
| 2867 | + * |
|
| 2868 | + * @param string $query |
|
| 2869 | + * Requête à exécuter |
|
| 2870 | + * @param bool|null $tracer |
|
| 2871 | + * true pour tracer la requête |
|
| 2872 | + * @return bool|SQLiteResult |
|
| 2873 | + */ |
|
| 2874 | + public function executer_requete($query, $tracer = null) { |
|
| 2875 | + if (is_null($tracer)) { |
|
| 2876 | + $tracer = $this->tracer; |
|
| 2877 | + } |
|
| 2878 | + $err = ''; |
|
| 2879 | + $t = 0; |
|
| 2880 | + if ($tracer or (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES)) { |
|
| 2881 | + include_spip('public/tracer'); |
|
| 2882 | + $t = trace_query_start(); |
|
| 2883 | + } |
|
| 2884 | + |
|
| 2885 | + # spip_log("requete: $this->serveur >> $query",'sqlite.'._LOG_DEBUG); // boum ? pourquoi ? |
|
| 2886 | + if ($this->link) { |
|
| 2887 | + // memoriser la derniere erreur PHP vue |
|
| 2888 | + $last_error = (function_exists('error_get_last') ? error_get_last() : ''); |
|
| 2889 | + $e = null; |
|
| 2890 | + // sauver la derniere requete |
|
| 2891 | + $GLOBALS['connexions'][$this->serveur ? $this->serveur : 0]['last'] = $query; |
|
| 2892 | + $GLOBALS['connexions'][$this->serveur ? $this->serveur : 0]['total_requetes']++; |
|
| 2893 | + |
|
| 2894 | + try { |
|
| 2895 | + $r = $this->link->query($query); |
|
| 2896 | + } catch (\PDOException $e) { |
|
| 2897 | + spip_log('PDOException: ' . $e->getMessage(), 'sqlite.' . _LOG_DEBUG); |
|
| 2898 | + $r = false; |
|
| 2899 | + } |
|
| 2900 | + // sauvegarde de la requete (elle y est deja dans $r->queryString) |
|
| 2901 | + # $r->spipQueryString = $query; |
|
| 2902 | + |
|
| 2903 | + // comptage : oblige de compter le nombre d'entrees retournees |
|
| 2904 | + // par une requete SELECT |
|
| 2905 | + // aucune autre solution ne donne le nombre attendu :( ! |
|
| 2906 | + // particulierement s'il y a des LIMIT dans la requete. |
|
| 2907 | + if (strtoupper(substr(ltrim($query), 0, 6)) == 'SELECT') { |
|
| 2908 | + if ($r) { |
|
| 2909 | + // noter le link et la query pour faire le comptage *si* on en a besoin |
|
| 2910 | + $r->spipSqliteRowCount = [$this->link, $query]; |
|
| 2911 | + } elseif ($r instanceof PDOStatement) { |
|
| 2912 | + $r->spipSqliteRowCount = 0; |
|
| 2913 | + } |
|
| 2914 | + } |
|
| 2915 | + |
|
| 2916 | + // loger les warnings/erreurs eventuels de sqlite remontant dans PHP |
|
| 2917 | + if ($e and $e instanceof \PDOException) { |
|
| 2918 | + $err = strip_tags($e->getMessage()) . ' in ' . $e->getFile() . ' line ' . $e->getLine(); |
|
| 2919 | + spip_log("$err - " . $query, 'sqlite.' . _LOG_ERREUR); |
|
| 2920 | + } elseif ($err = (function_exists('error_get_last') ? error_get_last() : '') and $err != $last_error) { |
|
| 2921 | + $err = strip_tags($err['message']) . ' in ' . $err['file'] . ' line ' . $err['line']; |
|
| 2922 | + spip_log("$err - " . $query, 'sqlite.' . _LOG_ERREUR); |
|
| 2923 | + } else { |
|
| 2924 | + $err = ''; |
|
| 2925 | + } |
|
| 2926 | + } else { |
|
| 2927 | + $r = false; |
|
| 2928 | + } |
|
| 2929 | + |
|
| 2930 | + if (spip_sqlite_errno($this->serveur)) { |
|
| 2931 | + $err .= spip_sqlite_error($query, $this->serveur); |
|
| 2932 | + } |
|
| 2933 | + |
|
| 2934 | + return $t ? trace_query_end($query, $t, $r, $err, $this->serveur) : $r; |
|
| 2935 | + } |
|
| 2936 | + |
|
| 2937 | + /** |
|
| 2938 | + * Obtient l'identifiant de la dernière ligne insérée ou modifiée |
|
| 2939 | + * |
|
| 2940 | + * @return int |
|
| 2941 | + **/ |
|
| 2942 | + public function last_insert_id() { |
|
| 2943 | + return $this->link->lastInsertId(); |
|
| 2944 | + } |
|
| 2945 | 2945 | } |
| 2946 | 2946 | |
| 2947 | 2947 | |
@@ -2951,206 +2951,206 @@ discard block |
||
| 2951 | 2951 | * (fonction pour proteger les textes) |
| 2952 | 2952 | */ |
| 2953 | 2953 | class sqlite_traducteur { |
| 2954 | - /** @var string $query Texte de la requête */ |
|
| 2955 | - public $query = ''; |
|
| 2956 | - /** @var string $prefixe Préfixe des tables */ |
|
| 2957 | - public $prefixe = ''; |
|
| 2958 | - /** @var string $sqlite_version Version de sqlite (2 ou 3) */ |
|
| 2959 | - public $sqlite_version = ''; |
|
| 2960 | - |
|
| 2961 | - /** Pour les corrections à effectuer sur les requêtes : array(code=>'texte') trouvé |
|
| 2962 | - * |
|
| 2963 | - * @var array |
|
| 2964 | - */ |
|
| 2965 | - public $textes = []; |
|
| 2966 | - |
|
| 2967 | - /** |
|
| 2968 | - * Constructeur |
|
| 2969 | - * |
|
| 2970 | - * @param string $query Requête à préparer |
|
| 2971 | - * @param string $prefixe Prefixe des tables à utiliser |
|
| 2972 | - * @param string $sqlite_version Version SQLite (2 ou 3) |
|
| 2973 | - */ |
|
| 2974 | - public function __construct($query, $prefixe, $sqlite_version) { |
|
| 2975 | - $this->query = $query; |
|
| 2976 | - $this->prefixe = $prefixe; |
|
| 2977 | - $this->sqlite_version = $sqlite_version; |
|
| 2978 | - } |
|
| 2979 | - |
|
| 2980 | - /** |
|
| 2981 | - * Transformer la requete pour SQLite |
|
| 2982 | - * |
|
| 2983 | - * Enlève les textes, transforme la requête pour quelle soit |
|
| 2984 | - * bien interprétée par SQLite, puis remet les textes |
|
| 2985 | - * la fonction affecte `$this->query` |
|
| 2986 | - */ |
|
| 2987 | - public function traduire_requete() { |
|
| 2988 | - // |
|
| 2989 | - // 1) Protection des textes en les remplacant par des codes |
|
| 2990 | - // |
|
| 2991 | - // enlever les 'textes' et initialiser avec |
|
| 2992 | - list($this->query, $textes) = query_echappe_textes($this->query); |
|
| 2993 | - |
|
| 2994 | - // |
|
| 2995 | - // 2) Corrections de la requete |
|
| 2996 | - // |
|
| 2997 | - // Correction Create Database |
|
| 2998 | - // Create Database -> requete ignoree |
|
| 2999 | - if (strpos($this->query, 'CREATE DATABASE') === 0) { |
|
| 3000 | - spip_log("Sqlite : requete non executee -> $this->query", 'sqlite.' . _LOG_AVERTISSEMENT); |
|
| 3001 | - $this->query = 'SELECT 1'; |
|
| 3002 | - } |
|
| 3003 | - |
|
| 3004 | - // Correction Insert Ignore |
|
| 3005 | - // INSERT IGNORE -> insert (tout court et pas 'insert or replace') |
|
| 3006 | - if (strpos($this->query, 'INSERT IGNORE') === 0) { |
|
| 3007 | - spip_log("Sqlite : requete transformee -> $this->query", 'sqlite.' . _LOG_DEBUG); |
|
| 3008 | - $this->query = 'INSERT ' . substr($this->query, '13'); |
|
| 3009 | - } |
|
| 3010 | - |
|
| 3011 | - // Correction des dates avec INTERVAL |
|
| 3012 | - // utiliser sql_date_proche() de preference |
|
| 3013 | - if (strpos($this->query, 'INTERVAL') !== false) { |
|
| 3014 | - $this->query = preg_replace_callback( |
|
| 3015 | - '/DATE_(ADD|SUB)(.*)INTERVAL\s+(\d+)\s+([a-zA-Z]+)\)/U', |
|
| 3016 | - [&$this, '_remplacerDateParTime'], |
|
| 3017 | - $this->query |
|
| 3018 | - ); |
|
| 3019 | - } |
|
| 3020 | - |
|
| 3021 | - if (strpos($this->query, 'LEFT(') !== false) { |
|
| 3022 | - $this->query = str_replace('LEFT(', '_LEFT(', $this->query); |
|
| 3023 | - } |
|
| 3024 | - |
|
| 3025 | - if (strpos($this->query, 'TIMESTAMPDIFF(') !== false) { |
|
| 3026 | - $this->query = preg_replace('/TIMESTAMPDIFF\(\s*([^,]*)\s*,/Uims', "TIMESTAMPDIFF('\\1',", $this->query); |
|
| 3027 | - } |
|
| 3028 | - |
|
| 3029 | - |
|
| 3030 | - // Correction Using |
|
| 3031 | - // USING (non reconnu en sqlite2) |
|
| 3032 | - // problematique car la jointure ne se fait pas du coup. |
|
| 3033 | - if (($this->sqlite_version == 2) && (strpos($this->query, 'USING') !== false)) { |
|
| 3034 | - spip_log( |
|
| 3035 | - "'USING (champ)' n'est pas reconnu en SQLite 2. Utilisez 'ON table1.champ = table2.champ'", |
|
| 3036 | - 'sqlite.' . _LOG_ERREUR |
|
| 3037 | - ); |
|
| 3038 | - $this->query = preg_replace('/USING\s*\([^\)]*\)/', '', $this->query); |
|
| 3039 | - } |
|
| 3040 | - |
|
| 3041 | - // Correction Field |
|
| 3042 | - // remplace FIELD(table,i,j,k...) par CASE WHEN table=i THEN n ... ELSE 0 END |
|
| 3043 | - if (strpos($this->query, 'FIELD') !== false) { |
|
| 3044 | - $this->query = preg_replace_callback( |
|
| 3045 | - '/FIELD\s*\(([^\)]*)\)/', |
|
| 3046 | - [&$this, '_remplacerFieldParCase'], |
|
| 3047 | - $this->query |
|
| 3048 | - ); |
|
| 3049 | - } |
|
| 3050 | - |
|
| 3051 | - // Correction des noms de tables FROM |
|
| 3052 | - // mettre les bons noms de table dans from, update, insert, replace... |
|
| 3053 | - if (preg_match('/\s(SET|VALUES|WHERE|DATABASE)\s/iS', $this->query, $regs)) { |
|
| 3054 | - $suite = strstr($this->query, $regs[0]); |
|
| 3055 | - $this->query = substr($this->query, 0, -strlen($suite)); |
|
| 3056 | - } else { |
|
| 3057 | - $suite = ''; |
|
| 3058 | - } |
|
| 3059 | - $pref = ($this->prefixe) ? $this->prefixe . '_' : ''; |
|
| 3060 | - $this->query = preg_replace('/([,\s])spip_/S', '\1' . $pref, $this->query) . $suite; |
|
| 3061 | - |
|
| 3062 | - // Correction zero AS x |
|
| 3063 | - // pg n'aime pas 0+x AS alias, sqlite, dans le meme style, |
|
| 3064 | - // n'apprecie pas du tout SELECT 0 as x ... ORDER BY x |
|
| 3065 | - // il dit que x ne doit pas être un integer dans le order by ! |
|
| 3066 | - // on remplace du coup x par vide() dans ce cas uniquement |
|
| 3067 | - // |
|
| 3068 | - // apparait dans public/vertebrer.php et dans le plugin menu aussi qui genere aussi ce genre de requete via un {par num #GET{tri_num}} |
|
| 3069 | - // mais est-ce encore un soucis pour sqlite en 2021 ? (ie commenter le preg_replace marche très bien en sqlite 3.28) |
|
| 3070 | - if ((strpos($this->query, '0 AS') !== false)) { |
|
| 3071 | - // on ne remplace que dans ORDER BY ou GROUP BY |
|
| 3072 | - if (preg_match('/\s(ORDER|GROUP) BY\s/i', $this->query, $regs)) { |
|
| 3073 | - $suite = strstr($this->query, $regs[0]); |
|
| 3074 | - $this->query = substr($this->query, 0, -strlen($suite)); |
|
| 3075 | - |
|
| 3076 | - // on cherche les noms des x dans 0 AS x |
|
| 3077 | - // on remplace dans $suite le nom par vide() |
|
| 3078 | - preg_match_all('/\b0 AS\s*([^\s,]+)/', $this->query, $matches, PREG_PATTERN_ORDER); |
|
| 3079 | - foreach ($matches[1] as $m) { |
|
| 3080 | - if (strpos($suite, $m) !== false) { |
|
| 3081 | - $suite = preg_replace(",\b$m\b,", 'VIDE()', $suite); |
|
| 3082 | - } |
|
| 3083 | - } |
|
| 3084 | - $this->query .= $suite; |
|
| 3085 | - } |
|
| 3086 | - } |
|
| 3087 | - |
|
| 3088 | - // Correction possible des divisions entieres |
|
| 3089 | - // Le standard SQL (lequel? ou?) semble indiquer que |
|
| 3090 | - // a/b=c doit donner c entier si a et b sont entiers 4/3=1. |
|
| 3091 | - // C'est ce que retournent effectivement SQL Server et SQLite |
|
| 3092 | - // Ce n'est pas ce qu'applique MySQL qui retourne un reel : 4/3=1.333... |
|
| 3093 | - // |
|
| 3094 | - // On peut forcer la conversion en multipliant par 1.0 avant la division |
|
| 3095 | - // /!\ SQLite 3.5.9 Debian/Ubuntu est victime d'un bug en plus ! |
|
| 3096 | - // cf. https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/254228 |
|
| 3097 | - // http://www.sqlite.org/cvstrac/tktview?tn=3202 |
|
| 3098 | - // (4*1.0/3) n'est pas rendu dans ce cas ! |
|
| 3099 | - # $this->query = str_replace('/','* 1.00 / ',$this->query); |
|
| 3100 | - |
|
| 3101 | - |
|
| 3102 | - // Correction critere REGEXP, non reconnu en sqlite2 |
|
| 3103 | - if (($this->sqlite_version == 2) && (strpos($this->query, 'REGEXP') !== false)) { |
|
| 3104 | - $this->query = preg_replace('/([^\s\(]*)(\s*)REGEXP(\s*)([^\s\)]*)/', 'REGEXP($4, $1)', $this->query); |
|
| 3105 | - } |
|
| 3106 | - |
|
| 3107 | - // |
|
| 3108 | - // 3) Remise en place des textes d'origine |
|
| 3109 | - // |
|
| 3110 | - // Correction Antiquotes et echappements |
|
| 3111 | - // ` => rien |
|
| 3112 | - if (strpos($this->query, '`') !== false) { |
|
| 3113 | - $this->query = str_replace('`', '', $this->query); |
|
| 3114 | - } |
|
| 3115 | - |
|
| 3116 | - $this->query = query_reinjecte_textes($this->query, $textes); |
|
| 3117 | - |
|
| 3118 | - return $this->query; |
|
| 3119 | - } |
|
| 3120 | - |
|
| 3121 | - |
|
| 3122 | - /** |
|
| 3123 | - * Callback pour remplacer `DATE_` / `INTERVAL` |
|
| 3124 | - * par `DATE ... strtotime` |
|
| 3125 | - * |
|
| 3126 | - * @param array $matches Captures |
|
| 3127 | - * @return string Texte de date compris par SQLite |
|
| 3128 | - */ |
|
| 3129 | - public function _remplacerDateParTime($matches) { |
|
| 3130 | - $op = strtoupper($matches[1] == 'ADD') ? '+' : '-'; |
|
| 3131 | - |
|
| 3132 | - return "datetime$matches[2] '$op$matches[3] $matches[4]')"; |
|
| 3133 | - } |
|
| 3134 | - |
|
| 3135 | - /** |
|
| 3136 | - * Callback pour remplacer `FIELD(table,i,j,k...)` |
|
| 3137 | - * par `CASE WHEN table=i THEN n ... ELSE 0 END` |
|
| 3138 | - * |
|
| 3139 | - * @param array $matches Captures |
|
| 3140 | - * @return string Texte de liste ordonnée compris par SQLite |
|
| 3141 | - */ |
|
| 3142 | - public function _remplacerFieldParCase($matches) { |
|
| 3143 | - $fields = substr($matches[0], 6, -1); // ne recuperer que l'interieur X de field(X) |
|
| 3144 | - $t = explode(',', $fields); |
|
| 3145 | - $index = array_shift($t); |
|
| 3146 | - |
|
| 3147 | - $res = ''; |
|
| 3148 | - $n = 0; |
|
| 3149 | - foreach ($t as $v) { |
|
| 3150 | - $n++; |
|
| 3151 | - $res .= "\nWHEN $index=$v THEN $n"; |
|
| 3152 | - } |
|
| 3153 | - |
|
| 3154 | - return "CASE $res ELSE 0 END "; |
|
| 3155 | - } |
|
| 2954 | + /** @var string $query Texte de la requête */ |
|
| 2955 | + public $query = ''; |
|
| 2956 | + /** @var string $prefixe Préfixe des tables */ |
|
| 2957 | + public $prefixe = ''; |
|
| 2958 | + /** @var string $sqlite_version Version de sqlite (2 ou 3) */ |
|
| 2959 | + public $sqlite_version = ''; |
|
| 2960 | + |
|
| 2961 | + /** Pour les corrections à effectuer sur les requêtes : array(code=>'texte') trouvé |
|
| 2962 | + * |
|
| 2963 | + * @var array |
|
| 2964 | + */ |
|
| 2965 | + public $textes = []; |
|
| 2966 | + |
|
| 2967 | + /** |
|
| 2968 | + * Constructeur |
|
| 2969 | + * |
|
| 2970 | + * @param string $query Requête à préparer |
|
| 2971 | + * @param string $prefixe Prefixe des tables à utiliser |
|
| 2972 | + * @param string $sqlite_version Version SQLite (2 ou 3) |
|
| 2973 | + */ |
|
| 2974 | + public function __construct($query, $prefixe, $sqlite_version) { |
|
| 2975 | + $this->query = $query; |
|
| 2976 | + $this->prefixe = $prefixe; |
|
| 2977 | + $this->sqlite_version = $sqlite_version; |
|
| 2978 | + } |
|
| 2979 | + |
|
| 2980 | + /** |
|
| 2981 | + * Transformer la requete pour SQLite |
|
| 2982 | + * |
|
| 2983 | + * Enlève les textes, transforme la requête pour quelle soit |
|
| 2984 | + * bien interprétée par SQLite, puis remet les textes |
|
| 2985 | + * la fonction affecte `$this->query` |
|
| 2986 | + */ |
|
| 2987 | + public function traduire_requete() { |
|
| 2988 | + // |
|
| 2989 | + // 1) Protection des textes en les remplacant par des codes |
|
| 2990 | + // |
|
| 2991 | + // enlever les 'textes' et initialiser avec |
|
| 2992 | + list($this->query, $textes) = query_echappe_textes($this->query); |
|
| 2993 | + |
|
| 2994 | + // |
|
| 2995 | + // 2) Corrections de la requete |
|
| 2996 | + // |
|
| 2997 | + // Correction Create Database |
|
| 2998 | + // Create Database -> requete ignoree |
|
| 2999 | + if (strpos($this->query, 'CREATE DATABASE') === 0) { |
|
| 3000 | + spip_log("Sqlite : requete non executee -> $this->query", 'sqlite.' . _LOG_AVERTISSEMENT); |
|
| 3001 | + $this->query = 'SELECT 1'; |
|
| 3002 | + } |
|
| 3003 | + |
|
| 3004 | + // Correction Insert Ignore |
|
| 3005 | + // INSERT IGNORE -> insert (tout court et pas 'insert or replace') |
|
| 3006 | + if (strpos($this->query, 'INSERT IGNORE') === 0) { |
|
| 3007 | + spip_log("Sqlite : requete transformee -> $this->query", 'sqlite.' . _LOG_DEBUG); |
|
| 3008 | + $this->query = 'INSERT ' . substr($this->query, '13'); |
|
| 3009 | + } |
|
| 3010 | + |
|
| 3011 | + // Correction des dates avec INTERVAL |
|
| 3012 | + // utiliser sql_date_proche() de preference |
|
| 3013 | + if (strpos($this->query, 'INTERVAL') !== false) { |
|
| 3014 | + $this->query = preg_replace_callback( |
|
| 3015 | + '/DATE_(ADD|SUB)(.*)INTERVAL\s+(\d+)\s+([a-zA-Z]+)\)/U', |
|
| 3016 | + [&$this, '_remplacerDateParTime'], |
|
| 3017 | + $this->query |
|
| 3018 | + ); |
|
| 3019 | + } |
|
| 3020 | + |
|
| 3021 | + if (strpos($this->query, 'LEFT(') !== false) { |
|
| 3022 | + $this->query = str_replace('LEFT(', '_LEFT(', $this->query); |
|
| 3023 | + } |
|
| 3024 | + |
|
| 3025 | + if (strpos($this->query, 'TIMESTAMPDIFF(') !== false) { |
|
| 3026 | + $this->query = preg_replace('/TIMESTAMPDIFF\(\s*([^,]*)\s*,/Uims', "TIMESTAMPDIFF('\\1',", $this->query); |
|
| 3027 | + } |
|
| 3028 | + |
|
| 3029 | + |
|
| 3030 | + // Correction Using |
|
| 3031 | + // USING (non reconnu en sqlite2) |
|
| 3032 | + // problematique car la jointure ne se fait pas du coup. |
|
| 3033 | + if (($this->sqlite_version == 2) && (strpos($this->query, 'USING') !== false)) { |
|
| 3034 | + spip_log( |
|
| 3035 | + "'USING (champ)' n'est pas reconnu en SQLite 2. Utilisez 'ON table1.champ = table2.champ'", |
|
| 3036 | + 'sqlite.' . _LOG_ERREUR |
|
| 3037 | + ); |
|
| 3038 | + $this->query = preg_replace('/USING\s*\([^\)]*\)/', '', $this->query); |
|
| 3039 | + } |
|
| 3040 | + |
|
| 3041 | + // Correction Field |
|
| 3042 | + // remplace FIELD(table,i,j,k...) par CASE WHEN table=i THEN n ... ELSE 0 END |
|
| 3043 | + if (strpos($this->query, 'FIELD') !== false) { |
|
| 3044 | + $this->query = preg_replace_callback( |
|
| 3045 | + '/FIELD\s*\(([^\)]*)\)/', |
|
| 3046 | + [&$this, '_remplacerFieldParCase'], |
|
| 3047 | + $this->query |
|
| 3048 | + ); |
|
| 3049 | + } |
|
| 3050 | + |
|
| 3051 | + // Correction des noms de tables FROM |
|
| 3052 | + // mettre les bons noms de table dans from, update, insert, replace... |
|
| 3053 | + if (preg_match('/\s(SET|VALUES|WHERE|DATABASE)\s/iS', $this->query, $regs)) { |
|
| 3054 | + $suite = strstr($this->query, $regs[0]); |
|
| 3055 | + $this->query = substr($this->query, 0, -strlen($suite)); |
|
| 3056 | + } else { |
|
| 3057 | + $suite = ''; |
|
| 3058 | + } |
|
| 3059 | + $pref = ($this->prefixe) ? $this->prefixe . '_' : ''; |
|
| 3060 | + $this->query = preg_replace('/([,\s])spip_/S', '\1' . $pref, $this->query) . $suite; |
|
| 3061 | + |
|
| 3062 | + // Correction zero AS x |
|
| 3063 | + // pg n'aime pas 0+x AS alias, sqlite, dans le meme style, |
|
| 3064 | + // n'apprecie pas du tout SELECT 0 as x ... ORDER BY x |
|
| 3065 | + // il dit que x ne doit pas être un integer dans le order by ! |
|
| 3066 | + // on remplace du coup x par vide() dans ce cas uniquement |
|
| 3067 | + // |
|
| 3068 | + // apparait dans public/vertebrer.php et dans le plugin menu aussi qui genere aussi ce genre de requete via un {par num #GET{tri_num}} |
|
| 3069 | + // mais est-ce encore un soucis pour sqlite en 2021 ? (ie commenter le preg_replace marche très bien en sqlite 3.28) |
|
| 3070 | + if ((strpos($this->query, '0 AS') !== false)) { |
|
| 3071 | + // on ne remplace que dans ORDER BY ou GROUP BY |
|
| 3072 | + if (preg_match('/\s(ORDER|GROUP) BY\s/i', $this->query, $regs)) { |
|
| 3073 | + $suite = strstr($this->query, $regs[0]); |
|
| 3074 | + $this->query = substr($this->query, 0, -strlen($suite)); |
|
| 3075 | + |
|
| 3076 | + // on cherche les noms des x dans 0 AS x |
|
| 3077 | + // on remplace dans $suite le nom par vide() |
|
| 3078 | + preg_match_all('/\b0 AS\s*([^\s,]+)/', $this->query, $matches, PREG_PATTERN_ORDER); |
|
| 3079 | + foreach ($matches[1] as $m) { |
|
| 3080 | + if (strpos($suite, $m) !== false) { |
|
| 3081 | + $suite = preg_replace(",\b$m\b,", 'VIDE()', $suite); |
|
| 3082 | + } |
|
| 3083 | + } |
|
| 3084 | + $this->query .= $suite; |
|
| 3085 | + } |
|
| 3086 | + } |
|
| 3087 | + |
|
| 3088 | + // Correction possible des divisions entieres |
|
| 3089 | + // Le standard SQL (lequel? ou?) semble indiquer que |
|
| 3090 | + // a/b=c doit donner c entier si a et b sont entiers 4/3=1. |
|
| 3091 | + // C'est ce que retournent effectivement SQL Server et SQLite |
|
| 3092 | + // Ce n'est pas ce qu'applique MySQL qui retourne un reel : 4/3=1.333... |
|
| 3093 | + // |
|
| 3094 | + // On peut forcer la conversion en multipliant par 1.0 avant la division |
|
| 3095 | + // /!\ SQLite 3.5.9 Debian/Ubuntu est victime d'un bug en plus ! |
|
| 3096 | + // cf. https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/254228 |
|
| 3097 | + // http://www.sqlite.org/cvstrac/tktview?tn=3202 |
|
| 3098 | + // (4*1.0/3) n'est pas rendu dans ce cas ! |
|
| 3099 | + # $this->query = str_replace('/','* 1.00 / ',$this->query); |
|
| 3100 | + |
|
| 3101 | + |
|
| 3102 | + // Correction critere REGEXP, non reconnu en sqlite2 |
|
| 3103 | + if (($this->sqlite_version == 2) && (strpos($this->query, 'REGEXP') !== false)) { |
|
| 3104 | + $this->query = preg_replace('/([^\s\(]*)(\s*)REGEXP(\s*)([^\s\)]*)/', 'REGEXP($4, $1)', $this->query); |
|
| 3105 | + } |
|
| 3106 | + |
|
| 3107 | + // |
|
| 3108 | + // 3) Remise en place des textes d'origine |
|
| 3109 | + // |
|
| 3110 | + // Correction Antiquotes et echappements |
|
| 3111 | + // ` => rien |
|
| 3112 | + if (strpos($this->query, '`') !== false) { |
|
| 3113 | + $this->query = str_replace('`', '', $this->query); |
|
| 3114 | + } |
|
| 3115 | + |
|
| 3116 | + $this->query = query_reinjecte_textes($this->query, $textes); |
|
| 3117 | + |
|
| 3118 | + return $this->query; |
|
| 3119 | + } |
|
| 3120 | + |
|
| 3121 | + |
|
| 3122 | + /** |
|
| 3123 | + * Callback pour remplacer `DATE_` / `INTERVAL` |
|
| 3124 | + * par `DATE ... strtotime` |
|
| 3125 | + * |
|
| 3126 | + * @param array $matches Captures |
|
| 3127 | + * @return string Texte de date compris par SQLite |
|
| 3128 | + */ |
|
| 3129 | + public function _remplacerDateParTime($matches) { |
|
| 3130 | + $op = strtoupper($matches[1] == 'ADD') ? '+' : '-'; |
|
| 3131 | + |
|
| 3132 | + return "datetime$matches[2] '$op$matches[3] $matches[4]')"; |
|
| 3133 | + } |
|
| 3134 | + |
|
| 3135 | + /** |
|
| 3136 | + * Callback pour remplacer `FIELD(table,i,j,k...)` |
|
| 3137 | + * par `CASE WHEN table=i THEN n ... ELSE 0 END` |
|
| 3138 | + * |
|
| 3139 | + * @param array $matches Captures |
|
| 3140 | + * @return string Texte de liste ordonnée compris par SQLite |
|
| 3141 | + */ |
|
| 3142 | + public function _remplacerFieldParCase($matches) { |
|
| 3143 | + $fields = substr($matches[0], 6, -1); // ne recuperer que l'interieur X de field(X) |
|
| 3144 | + $t = explode(',', $fields); |
|
| 3145 | + $index = array_shift($t); |
|
| 3146 | + |
|
| 3147 | + $res = ''; |
|
| 3148 | + $n = 0; |
|
| 3149 | + foreach ($t as $v) { |
|
| 3150 | + $n++; |
|
| 3151 | + $res .= "\nWHEN $index=$v THEN $n"; |
|
| 3152 | + } |
|
| 3153 | + |
|
| 3154 | + return "CASE $res ELSE 0 END "; |
|
| 3155 | + } |
|
| 3156 | 3156 | } |
@@ -64,27 +64,27 @@ discard block |
||
| 64 | 64 | // determiner le dossier de la base : $addr ou _DIR_DB |
| 65 | 65 | $f = _DIR_DB; |
| 66 | 66 | if ($addr and strpos($addr, '/') !== false) { |
| 67 | - $f = rtrim($addr, '/') . '/'; |
|
| 67 | + $f = rtrim($addr, '/').'/'; |
|
| 68 | 68 | } |
| 69 | 69 | |
| 70 | 70 | // un nom de base demande et impossible d'obtenir la base, on s'en va : |
| 71 | 71 | // il faut que la base existe ou que le repertoire parent soit writable |
| 72 | - if ($db and !is_file($f .= $db . '.sqlite') and !is_writable(dirname($f))) { |
|
| 73 | - spip_log("base $f non trouvee ou droits en ecriture manquants", 'sqlite.' . _LOG_HS); |
|
| 72 | + if ($db and !is_file($f .= $db.'.sqlite') and !is_writable(dirname($f))) { |
|
| 73 | + spip_log("base $f non trouvee ou droits en ecriture manquants", 'sqlite.'._LOG_HS); |
|
| 74 | 74 | |
| 75 | 75 | return false; |
| 76 | 76 | } |
| 77 | 77 | |
| 78 | 78 | // charger les modules sqlite au besoin |
| 79 | 79 | if (!_sqlite_charger_version($sqlite_version)) { |
| 80 | - spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!", 'sqlite.' . _LOG_HS); |
|
| 80 | + spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!", 'sqlite.'._LOG_HS); |
|
| 81 | 81 | |
| 82 | 82 | return false; |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | // chargement des constantes |
| 86 | 86 | // il ne faut pas definir les constantes avant d'avoir charge les modules sqlite |
| 87 | - $define = 'spip_sqlite' . $sqlite_version . '_constantes'; |
|
| 87 | + $define = 'spip_sqlite'.$sqlite_version.'_constantes'; |
|
| 88 | 88 | $define(); |
| 89 | 89 | |
| 90 | 90 | $ok = false; |
@@ -92,8 +92,8 @@ discard block |
||
| 92 | 92 | // si pas de db -> |
| 93 | 93 | // base temporaire tant qu'on ne connait pas son vrai nom |
| 94 | 94 | // pour tester la connexion |
| 95 | - $db = '_sqlite' . $sqlite_version . '_install'; |
|
| 96 | - $tmp = _DIR_DB . $db . '.sqlite'; |
|
| 95 | + $db = '_sqlite'.$sqlite_version.'_install'; |
|
| 96 | + $tmp = _DIR_DB.$db.'.sqlite'; |
|
| 97 | 97 | $ok = $link = new \PDO("sqlite:$tmp"); |
| 98 | 98 | } else { |
| 99 | 99 | // Ouvrir (eventuellement creer la base) |
@@ -102,7 +102,7 @@ discard block |
||
| 102 | 102 | |
| 103 | 103 | if (!$ok) { |
| 104 | 104 | $e = _sqlite_last_error_from_link($link); |
| 105 | - spip_log("Impossible d'ouvrir la base SQLite($sqlite_version) $f : $e", 'sqlite.' . _LOG_HS); |
|
| 105 | + spip_log("Impossible d'ouvrir la base SQLite($sqlite_version) $f : $e", 'sqlite.'._LOG_HS); |
|
| 106 | 106 | |
| 107 | 107 | return false; |
| 108 | 108 | } |
@@ -188,7 +188,7 @@ discard block |
||
| 188 | 188 | $table = $regs[3]; |
| 189 | 189 | $suite = $regs[4]; |
| 190 | 190 | } else { |
| 191 | - spip_log("SQLite : Probleme de ALTER TABLE mal forme dans $query", 'sqlite.' . _LOG_ERREUR); |
|
| 191 | + spip_log("SQLite : Probleme de ALTER TABLE mal forme dans $query", 'sqlite.'._LOG_ERREUR); |
|
| 192 | 192 | |
| 193 | 193 | return false; |
| 194 | 194 | } |
@@ -205,7 +205,7 @@ discard block |
||
| 205 | 205 | $i = 0; |
| 206 | 206 | $ouverte = false; |
| 207 | 207 | while ($do = array_shift($todo)) { |
| 208 | - $todo2[$i] = isset($todo2[$i]) ? $todo2[$i] . ',' . $do : $do; |
|
| 208 | + $todo2[$i] = isset($todo2[$i]) ? $todo2[$i].','.$do : $do; |
|
| 209 | 209 | $o = (false !== strpos($do, '(')); |
| 210 | 210 | $f = (false !== strpos($do, ')')); |
| 211 | 211 | if ($o and !$f) { |
@@ -231,7 +231,7 @@ discard block |
||
| 231 | 231 | ) { |
| 232 | 232 | spip_log( |
| 233 | 233 | "SQLite : Probleme de ALTER TABLE, utilisation non reconnue dans : $do \n(requete d'origine : $query)", |
| 234 | - 'sqlite.' . _LOG_ERREUR |
|
| 234 | + 'sqlite.'._LOG_ERREUR |
|
| 235 | 235 | ); |
| 236 | 236 | |
| 237 | 237 | return false; |
@@ -327,10 +327,10 @@ discard block |
||
| 327 | 327 | |
| 328 | 328 | // pas geres en sqlite2 |
| 329 | 329 | case 'RENAME': |
| 330 | - $do = 'RENAME TO' . substr($do, 6); |
|
| 330 | + $do = 'RENAME TO'.substr($do, 6); |
|
| 331 | 331 | case 'RENAME TO': |
| 332 | 332 | if (!spip_sqlite::executer_requete("$debut $do", $serveur)) { |
| 333 | - spip_log("SQLite : Erreur ALTER TABLE / RENAME : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 333 | + spip_log("SQLite : Erreur ALTER TABLE / RENAME : $query", 'sqlite.'._LOG_ERREUR); |
|
| 334 | 334 | |
| 335 | 335 | return false; |
| 336 | 336 | } |
@@ -373,7 +373,7 @@ discard block |
||
| 373 | 373 | $colonnes = substr($colonne_origine, 1, -1); |
| 374 | 374 | if (false !== strpos(',', $colonnes)) { |
| 375 | 375 | spip_log('SQLite : Erreur, impossible de creer un index sur plusieurs colonnes' |
| 376 | - . " sans qu'il ait de nom ($table, ($colonnes))", 'sqlite.' . _LOG_ERREUR); |
|
| 376 | + . " sans qu'il ait de nom ($table, ($colonnes))", 'sqlite.'._LOG_ERREUR); |
|
| 377 | 377 | break; |
| 378 | 378 | } else { |
| 379 | 379 | $nom_index = $colonnes; |
@@ -388,12 +388,12 @@ discard block |
||
| 388 | 388 | |
| 389 | 389 | // pas geres en sqlite2 |
| 390 | 390 | case 'ADD COLUMN': |
| 391 | - $do = 'ADD' . substr($do, 10); |
|
| 391 | + $do = 'ADD'.substr($do, 10); |
|
| 392 | 392 | case 'ADD': |
| 393 | 393 | default: |
| 394 | 394 | if (!preg_match(',primary\s+key,i', $do)) { |
| 395 | 395 | if (!spip_sqlite::executer_requete("$debut $do", $serveur)) { |
| 396 | - spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 396 | + spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.'._LOG_ERREUR); |
|
| 397 | 397 | |
| 398 | 398 | return false; |
| 399 | 399 | } |
@@ -413,7 +413,7 @@ discard block |
||
| 413 | 413 | } |
| 414 | 414 | $opts['field'] = [$colonne_ajoutee => $def]; |
| 415 | 415 | if (!_sqlite_modifier_table($table, [$colonne_ajoutee], $opts, $serveur)) { |
| 416 | - spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR); |
|
| 416 | + spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.'._LOG_ERREUR); |
|
| 417 | 417 | |
| 418 | 418 | return false; |
| 419 | 419 | } |
@@ -421,10 +421,10 @@ discard block |
||
| 421 | 421 | break; |
| 422 | 422 | } |
| 423 | 423 | // tout est bon, ouf ! |
| 424 | - spip_log("SQLite ($serveur) : Changements OK : $debut $do", 'sqlite.' . _LOG_INFO); |
|
| 424 | + spip_log("SQLite ($serveur) : Changements OK : $debut $do", 'sqlite.'._LOG_INFO); |
|
| 425 | 425 | } |
| 426 | 426 | |
| 427 | - spip_log("SQLite ($serveur) : fin ALTER TABLE OK !", 'sqlite.' . _LOG_INFO); |
|
| 427 | + spip_log("SQLite ($serveur) : fin ALTER TABLE OK !", 'sqlite.'._LOG_INFO); |
|
| 428 | 428 | |
| 429 | 429 | return true; |
| 430 | 430 | } |
@@ -493,9 +493,9 @@ discard block |
||
| 493 | 493 | * @return bool true si la base est créee. |
| 494 | 494 | **/ |
| 495 | 495 | function spip_sqlite_create_base($nom, $serveur = '', $option = true) { |
| 496 | - $f = $nom . '.sqlite'; |
|
| 496 | + $f = $nom.'.sqlite'; |
|
| 497 | 497 | if (strpos($nom, '/') === false) { |
| 498 | - $f = _DIR_DB . $f; |
|
| 498 | + $f = _DIR_DB.$f; |
|
| 499 | 499 | } |
| 500 | 500 | |
| 501 | 501 | $ok = new \PDO("sqlite:$f"); |
@@ -535,13 +535,13 @@ discard block |
||
| 535 | 535 | if (sql_showtable($nom, false, $serveur)) { |
| 536 | 536 | spip_log( |
| 537 | 537 | "Echec creation d'une vue sql ($nom) car celle-ci existe deja (serveur:$serveur)", |
| 538 | - 'sqlite.' . _LOG_ERREUR |
|
| 538 | + 'sqlite.'._LOG_ERREUR |
|
| 539 | 539 | ); |
| 540 | 540 | |
| 541 | 541 | return false; |
| 542 | 542 | } |
| 543 | 543 | |
| 544 | - $query = "CREATE VIEW $nom AS " . $query_select; |
|
| 544 | + $query = "CREATE VIEW $nom AS ".$query_select; |
|
| 545 | 545 | |
| 546 | 546 | return spip_sqlite_query($query, $serveur, $requeter); |
| 547 | 547 | } |
@@ -567,8 +567,8 @@ discard block |
||
| 567 | 567 | function spip_sqlite_create_index($nom, $table, $champs, $unique = '', $serveur = '', $requeter = true) { |
| 568 | 568 | if (!($nom or $table or $champs)) { |
| 569 | 569 | spip_log( |
| 570 | - "Champ manquant pour creer un index sqlite ($nom, $table, (" . join(',', $champs) . '))', |
|
| 571 | - 'sqlite.' . _LOG_ERREUR |
|
| 570 | + "Champ manquant pour creer un index sqlite ($nom, $table, (".join(',', $champs).'))', |
|
| 571 | + 'sqlite.'._LOG_ERREUR |
|
| 572 | 572 | ); |
| 573 | 573 | |
| 574 | 574 | return false; |
@@ -576,7 +576,7 @@ discard block |
||
| 576 | 576 | |
| 577 | 577 | // SQLite ne differentie pas noms des index en fonction des tables |
| 578 | 578 | // il faut donc creer des noms uniques d'index pour une base sqlite |
| 579 | - $nom = $table . '_' . $nom; |
|
| 579 | + $nom = $table.'_'.$nom; |
|
| 580 | 580 | // enlever d'eventuelles parentheses deja presentes sur champs |
| 581 | 581 | if (!is_array($champs)) { |
| 582 | 582 | if ($champs[0] == '(') { |
@@ -598,12 +598,12 @@ discard block |
||
| 598 | 598 | } else { |
| 599 | 599 | /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */ |
| 600 | 600 | $a = spip_sqlite_showtable($table, $serveur); |
| 601 | - if (isset($a['key']['KEY ' . $nom])) { |
|
| 601 | + if (isset($a['key']['KEY '.$nom])) { |
|
| 602 | 602 | return true; |
| 603 | 603 | } |
| 604 | 604 | } |
| 605 | 605 | |
| 606 | - $query = 'CREATE ' . ($unique ? 'UNIQUE ' : '') . "INDEX$ifnotexists $nom ON $table (" . join(',', $champs) . ')'; |
|
| 606 | + $query = 'CREATE '.($unique ? 'UNIQUE ' : '')."INDEX$ifnotexists $nom ON $table (".join(',', $champs).')'; |
|
| 607 | 607 | $res = spip_sqlite_query($query, $serveur, $requeter); |
| 608 | 608 | if (!$requeter) { |
| 609 | 609 | return $res; |
@@ -679,7 +679,7 @@ discard block |
||
| 679 | 679 | $serveur = '', |
| 680 | 680 | $requeter = true |
| 681 | 681 | ) { |
| 682 | - $c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby))); |
|
| 682 | + $c = !$groupby ? '*' : ('DISTINCT '.(is_string($groupby) ? $groupby : join(',', $groupby))); |
|
| 683 | 683 | $r = spip_sqlite_select( |
| 684 | 684 | "COUNT($c)", |
| 685 | 685 | $from, |
@@ -788,14 +788,14 @@ discard block |
||
| 788 | 788 | */ |
| 789 | 789 | function spip_sqlite_drop_index($nom, $table, $serveur = '', $requeter = true) { |
| 790 | 790 | if (!($nom or $table)) { |
| 791 | - spip_log("Champ manquant pour supprimer un index sqlite ($nom, $table)", 'sqlite.' . _LOG_ERREUR); |
|
| 791 | + spip_log("Champ manquant pour supprimer un index sqlite ($nom, $table)", 'sqlite.'._LOG_ERREUR); |
|
| 792 | 792 | |
| 793 | 793 | return false; |
| 794 | 794 | } |
| 795 | 795 | |
| 796 | 796 | // SQLite ne differentie pas noms des index en fonction des tables |
| 797 | 797 | // il faut donc creer des noms uniques d'index pour une base sqlite |
| 798 | - $index = $table . '_' . $nom; |
|
| 798 | + $index = $table.'_'.$nom; |
|
| 799 | 799 | $exist = ' IF EXISTS'; |
| 800 | 800 | |
| 801 | 801 | $query = "DROP INDEX$exist $index"; |
@@ -827,7 +827,7 @@ discard block |
||
| 827 | 827 | if ($s) { |
| 828 | 828 | $trace = debug_backtrace(); |
| 829 | 829 | if ($trace[0]['function'] != 'spip_sqlite_error') { |
| 830 | - spip_log("$s - $query - " . sql_error_backtrace(), 'sqlite.' . _LOG_ERREUR); |
|
| 830 | + spip_log("$s - $query - ".sql_error_backtrace(), 'sqlite.'._LOG_ERREUR); |
|
| 831 | 831 | } |
| 832 | 832 | } |
| 833 | 833 | |
@@ -874,14 +874,14 @@ discard block |
||
| 874 | 874 | $t = $link->errorInfo(); |
| 875 | 875 | $s = ltrim($t[0], '0'); // 00000 si pas d'erreur |
| 876 | 876 | if ($s) { |
| 877 | - $s .= ' / ' . $t[1]; |
|
| 877 | + $s .= ' / '.$t[1]; |
|
| 878 | 878 | } // ajoute l'erreur du moteur SQLite |
| 879 | 879 | } else { |
| 880 | 880 | $s = ': aucune ressource sqlite (link)'; |
| 881 | 881 | } |
| 882 | 882 | |
| 883 | 883 | if ($s) { |
| 884 | - spip_log("Erreur sqlite $s", 'sqlite.' . _LOG_ERREUR); |
|
| 884 | + spip_log("Erreur sqlite $s", 'sqlite.'._LOG_ERREUR); |
|
| 885 | 885 | } |
| 886 | 886 | |
| 887 | 887 | return $s ? $s : 0; |
@@ -905,7 +905,7 @@ discard block |
||
| 905 | 905 | } |
| 906 | 906 | |
| 907 | 907 | $query = spip_sqlite::traduire_requete($query, $serveur); |
| 908 | - $query = 'EXPLAIN ' . $query; |
|
| 908 | + $query = 'EXPLAIN '.$query; |
|
| 909 | 909 | if (!$requeter) { |
| 910 | 910 | return $query; |
| 911 | 911 | } |
@@ -1066,7 +1066,7 @@ discard block |
||
| 1066 | 1066 | **/ |
| 1067 | 1067 | function spip_sqlite_insert($table, $champs, $valeurs, $desc = [], $serveur = '', $requeter = true) { |
| 1068 | 1068 | |
| 1069 | - $query = "INSERT INTO $table " . ($champs ? "$champs VALUES $valeurs" : 'DEFAULT VALUES'); |
|
| 1069 | + $query = "INSERT INTO $table ".($champs ? "$champs VALUES $valeurs" : 'DEFAULT VALUES'); |
|
| 1070 | 1070 | if ($r = spip_sqlite_query($query, $serveur, $requeter)) { |
| 1071 | 1071 | if (!$requeter) { |
| 1072 | 1072 | return $r; |
@@ -1121,8 +1121,8 @@ discard block |
||
| 1121 | 1121 | |
| 1122 | 1122 | $cles = $valeurs = ''; |
| 1123 | 1123 | if (count($couples)) { |
| 1124 | - $cles = '(' . join(',', array_keys($couples)) . ')'; |
|
| 1125 | - $valeurs = '(' . join(',', $couples) . ')'; |
|
| 1124 | + $cles = '('.join(',', array_keys($couples)).')'; |
|
| 1125 | + $valeurs = '('.join(',', $couples).')'; |
|
| 1126 | 1126 | } |
| 1127 | 1127 | |
| 1128 | 1128 | return spip_sqlite_insert($table, $cles, $valeurs, $desc, $serveur, $requeter); |
@@ -1182,11 +1182,11 @@ discard block |
||
| 1182 | 1182 | |
| 1183 | 1183 | $champs = $valeurs = ''; |
| 1184 | 1184 | if (count($couples)) { |
| 1185 | - $champs = '(' . join(',', array_keys($couples)) . ')'; |
|
| 1186 | - $valeurs = '(' . join(',', $couples) . ')'; |
|
| 1187 | - $query = $query_start . "$champs VALUES $valeurs"; |
|
| 1185 | + $champs = '('.join(',', array_keys($couples)).')'; |
|
| 1186 | + $valeurs = '('.join(',', $couples).')'; |
|
| 1187 | + $query = $query_start."$champs VALUES $valeurs"; |
|
| 1188 | 1188 | } else { |
| 1189 | - $query = $query_start . 'DEFAULT VALUES'; |
|
| 1189 | + $query = $query_start.'DEFAULT VALUES'; |
|
| 1190 | 1190 | } |
| 1191 | 1191 | |
| 1192 | 1192 | if ($requeter) { |
@@ -1318,7 +1318,7 @@ discard block |
||
| 1318 | 1318 | * @return string Texte de sélection pour la requête |
| 1319 | 1319 | */ |
| 1320 | 1320 | function spip_sqlite_multi($objet, $lang) { |
| 1321 | - $r = 'EXTRAIRE_MULTI(' . $objet . ", '" . $lang . "') AS multi"; |
|
| 1321 | + $r = 'EXTRAIRE_MULTI('.$objet.", '".$lang."') AS multi"; |
|
| 1322 | 1322 | |
| 1323 | 1323 | return $r; |
| 1324 | 1324 | } |
@@ -1389,7 +1389,7 @@ discard block |
||
| 1389 | 1389 | function spip_sqlite_date_proche($champ, $interval, $unite) { |
| 1390 | 1390 | $op = (($interval <= 0) ? '>' : '<'); |
| 1391 | 1391 | |
| 1392 | - return "($champ $op datetime('" . date('Y-m-d H:i:s') . "', '$interval $unite'))"; |
|
| 1392 | + return "($champ $op datetime('".date('Y-m-d H:i:s')."', '$interval $unite'))"; |
|
| 1393 | 1393 | } |
| 1394 | 1394 | |
| 1395 | 1395 | |
@@ -1421,7 +1421,7 @@ discard block |
||
| 1421 | 1421 | and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
| 1422 | 1422 | ) { |
| 1423 | 1423 | spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT ''", $serveur); |
| 1424 | - spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1424 | + spip_log("ALTER $q", 'repair'._LOG_INFO_IMPORTANTE); |
|
| 1425 | 1425 | } |
| 1426 | 1426 | if ( |
| 1427 | 1427 | preg_match(',^(INTEGER),i', $d) |
@@ -1431,7 +1431,7 @@ discard block |
||
| 1431 | 1431 | and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
| 1432 | 1432 | ) { |
| 1433 | 1433 | spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0'", $serveur); |
| 1434 | - spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1434 | + spip_log("ALTER $q", 'repair'._LOG_INFO_IMPORTANTE); |
|
| 1435 | 1435 | } |
| 1436 | 1436 | if ( |
| 1437 | 1437 | preg_match(',^(datetime),i', $d) |
@@ -1441,7 +1441,7 @@ discard block |
||
| 1441 | 1441 | and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c) |
| 1442 | 1442 | ) { |
| 1443 | 1443 | spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0000-00-00 00:00:00'", $serveur); |
| 1444 | - spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE); |
|
| 1444 | + spip_log("ALTER $q", 'repair'._LOG_INFO_IMPORTANTE); |
|
| 1445 | 1445 | } |
| 1446 | 1446 | } |
| 1447 | 1447 | |
@@ -1492,10 +1492,10 @@ discard block |
||
| 1492 | 1492 | // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
| 1493 | 1493 | $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur); |
| 1494 | 1494 | |
| 1495 | - return spip_sqlite_query("REPLACE INTO $table (" . join(',', array_keys($couples)) . ') VALUES (' . join( |
|
| 1495 | + return spip_sqlite_query("REPLACE INTO $table (".join(',', array_keys($couples)).') VALUES ('.join( |
|
| 1496 | 1496 | ',', |
| 1497 | 1497 | $couples |
| 1498 | - ) . ')', $serveur); |
|
| 1498 | + ).')', $serveur); |
|
| 1499 | 1499 | } |
| 1500 | 1500 | |
| 1501 | 1501 | |
@@ -1581,7 +1581,7 @@ discard block |
||
| 1581 | 1581 | . _sqlite_calculer_expression('WHERE', $where) |
| 1582 | 1582 | . _sqlite_calculer_expression('GROUP BY', $groupby, ',') |
| 1583 | 1583 | . _sqlite_calculer_expression('HAVING', $having) |
| 1584 | - . ($orderby ? ("\nORDER BY " . _sqlite_calculer_order($orderby)) : '') |
|
| 1584 | + . ($orderby ? ("\nORDER BY "._sqlite_calculer_order($orderby)) : '') |
|
| 1585 | 1585 | . ($limit ? "\nLIMIT $limit" : ''); |
| 1586 | 1586 | |
| 1587 | 1587 | // dans un select, on doit renvoyer la requête en cas d'erreur |
@@ -1619,10 +1619,10 @@ discard block |
||
| 1619 | 1619 | // interdire la creation d'une nouvelle base, |
| 1620 | 1620 | // sauf si on est dans l'installation |
| 1621 | 1621 | if ( |
| 1622 | - !is_file($f = _DIR_DB . $db . '.sqlite') |
|
| 1622 | + !is_file($f = _DIR_DB.$db.'.sqlite') |
|
| 1623 | 1623 | && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL) |
| 1624 | 1624 | ) { |
| 1625 | - spip_log("Il est interdit de creer la base $db", 'sqlite.' . _LOG_HS); |
|
| 1625 | + spip_log("Il est interdit de creer la base $db", 'sqlite.'._LOG_HS); |
|
| 1626 | 1626 | |
| 1627 | 1627 | return false; |
| 1628 | 1628 | } |
@@ -1631,12 +1631,12 @@ discard block |
||
| 1631 | 1631 | // avec les identifiants connus |
| 1632 | 1632 | $index = $serveur ? $serveur : 0; |
| 1633 | 1633 | |
| 1634 | - if ($link = spip_connect_db('', '', '', '', '@selectdb@' . $db, $serveur, '', '')) { |
|
| 1634 | + if ($link = spip_connect_db('', '', '', '', '@selectdb@'.$db, $serveur, '', '')) { |
|
| 1635 | 1635 | if (($db == $link['db']) && $GLOBALS['connexions'][$index] = $link) { |
| 1636 | 1636 | return $db; |
| 1637 | 1637 | } |
| 1638 | 1638 | } else { |
| 1639 | - spip_log("Impossible de selectionner la base $db", 'sqlite.' . _LOG_HS); |
|
| 1639 | + spip_log("Impossible de selectionner la base $db", 'sqlite.'._LOG_HS); |
|
| 1640 | 1640 | |
| 1641 | 1641 | return false; |
| 1642 | 1642 | } |
@@ -1687,7 +1687,7 @@ discard block |
||
| 1687 | 1687 | $match = "^$match$"; |
| 1688 | 1688 | |
| 1689 | 1689 | return spip_sqlite_query( |
| 1690 | - "SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP " . _q($match), |
|
| 1690 | + "SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP "._q($match), |
|
| 1691 | 1691 | $serveur, |
| 1692 | 1692 | $requeter |
| 1693 | 1693 | ); |
@@ -1778,7 +1778,7 @@ discard block |
||
| 1778 | 1778 | // s'il y a une parenthèse fermante dans la clé |
| 1779 | 1779 | // ou dans la définition sans qu'il n'y ait une ouverture avant |
| 1780 | 1780 | if (false !== strpos($k, ')') or preg_match('/^[^\(]*\)/', $def)) { |
| 1781 | - $fields[$k_precedent] .= ',' . $k . ' ' . $def; |
|
| 1781 | + $fields[$k_precedent] .= ','.$k.' '.$def; |
|
| 1782 | 1782 | continue; |
| 1783 | 1783 | } |
| 1784 | 1784 | |
@@ -1813,13 +1813,13 @@ discard block |
||
| 1813 | 1813 | . 'ORDER BY substr(type,2,1), name'; |
| 1814 | 1814 | $a = spip_sqlite_query($query, $serveur, $requeter); |
| 1815 | 1815 | while ($r = spip_sqlite_fetch($a, null, $serveur)) { |
| 1816 | - $key = str_replace($nom_table . '_', '', $r['name']); // enlever le nom de la table ajoute a l'index |
|
| 1816 | + $key = str_replace($nom_table.'_', '', $r['name']); // enlever le nom de la table ajoute a l'index |
|
| 1817 | 1817 | $keytype = 'KEY'; |
| 1818 | 1818 | if (strpos($r['sql'], 'UNIQUE INDEX') !== false) { |
| 1819 | 1819 | $keytype = 'UNIQUE KEY'; |
| 1820 | 1820 | } |
| 1821 | 1821 | $colonnes = preg_replace(',.*\((.*)\).*,', '$1', $r['sql']); |
| 1822 | - $keys[$keytype . ' ' . $key] = $colonnes; |
|
| 1822 | + $keys[$keytype.' '.$key] = $colonnes; |
|
| 1823 | 1823 | } |
| 1824 | 1824 | } |
| 1825 | 1825 | } // c'est une vue, on liste les champs disponibles simplement |
@@ -1866,7 +1866,7 @@ discard block |
||
| 1866 | 1866 | |
| 1867 | 1867 | $set = []; |
| 1868 | 1868 | foreach ($champs as $champ => $val) { |
| 1869 | - $set[] = $champ . "=$val"; |
|
| 1869 | + $set[] = $champ."=$val"; |
|
| 1870 | 1870 | } |
| 1871 | 1871 | if (!empty($set)) { |
| 1872 | 1872 | return spip_sqlite_query( |
@@ -1919,7 +1919,7 @@ discard block |
||
| 1919 | 1919 | |
| 1920 | 1920 | $set = []; |
| 1921 | 1921 | foreach ($champs as $champ => $val) { |
| 1922 | - $set[$champ] = $champ . '=' . _sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : ''); |
|
| 1922 | + $set[$champ] = $champ.'='._sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : ''); |
|
| 1923 | 1923 | } |
| 1924 | 1924 | |
| 1925 | 1925 | // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci |
@@ -1927,7 +1927,7 @@ discard block |
||
| 1927 | 1927 | $maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur); |
| 1928 | 1928 | foreach ($maj as $champ => $val) { |
| 1929 | 1929 | if (!isset($set[$champ])) { |
| 1930 | - $set[$champ] = $champ . '=' . $val; |
|
| 1930 | + $set[$champ] = $champ.'='.$val; |
|
| 1931 | 1931 | } |
| 1932 | 1932 | } |
| 1933 | 1933 | |
@@ -1956,7 +1956,7 @@ discard block |
||
| 1956 | 1956 | */ |
| 1957 | 1957 | function _sqlite_init() { |
| 1958 | 1958 | if (!defined('_DIR_DB')) { |
| 1959 | - define('_DIR_DB', _DIR_ETC . 'bases/'); |
|
| 1959 | + define('_DIR_DB', _DIR_ETC.'bases/'); |
|
| 1960 | 1960 | } |
| 1961 | 1961 | if (!defined('_SQLITE_CHMOD')) { |
| 1962 | 1962 | define('_SQLITE_CHMOD', _SPIP_CHMOD); |
@@ -2063,9 +2063,9 @@ discard block |
||
| 2063 | 2063 | } |
| 2064 | 2064 | |
| 2065 | 2065 | // echapper les ' en '' |
| 2066 | - spip_log('Pas de methode ->quote pour echapper', 'sqlite.' . _LOG_INFO_IMPORTANTE); |
|
| 2066 | + spip_log('Pas de methode ->quote pour echapper', 'sqlite.'._LOG_INFO_IMPORTANTE); |
|
| 2067 | 2067 | |
| 2068 | - return ("'" . str_replace("'", "''", $v) . "'"); |
|
| 2068 | + return ("'".str_replace("'", "''", $v)."'"); |
|
| 2069 | 2069 | } |
| 2070 | 2070 | |
| 2071 | 2071 | |
@@ -2088,12 +2088,12 @@ discard block |
||
| 2088 | 2088 | $exp = "\n$expression "; |
| 2089 | 2089 | |
| 2090 | 2090 | if (!is_array($v)) { |
| 2091 | - return $exp . $v; |
|
| 2091 | + return $exp.$v; |
|
| 2092 | 2092 | } else { |
| 2093 | 2093 | if (strtoupper($join) === 'AND') { |
| 2094 | - return $exp . join("\n\t$join ", array_map('_sqlite_calculer_where', $v)); |
|
| 2094 | + return $exp.join("\n\t$join ", array_map('_sqlite_calculer_where', $v)); |
|
| 2095 | 2095 | } else { |
| 2096 | - return $exp . join($join, $v); |
|
| 2096 | + return $exp.join($join, $v); |
|
| 2097 | 2097 | } |
| 2098 | 2098 | } |
| 2099 | 2099 | } |
@@ -2127,17 +2127,17 @@ discard block |
||
| 2127 | 2127 | if (substr($k, -1) == '@') { |
| 2128 | 2128 | // c'est une jointure qui se refere au from precedent |
| 2129 | 2129 | // pas de virgule |
| 2130 | - $res .= ' ' . $v; |
|
| 2130 | + $res .= ' '.$v; |
|
| 2131 | 2131 | } else { |
| 2132 | 2132 | if (!is_numeric($k)) { |
| 2133 | 2133 | $p = strpos($v, ' '); |
| 2134 | 2134 | if ($p) { |
| 2135 | - $v = substr($v, 0, $p) . " AS '$k'" . substr($v, $p); |
|
| 2135 | + $v = substr($v, 0, $p)." AS '$k'".substr($v, $p); |
|
| 2136 | 2136 | } else { |
| 2137 | 2137 | $v .= " AS '$k'"; |
| 2138 | 2138 | } |
| 2139 | 2139 | } |
| 2140 | - $res .= ', ' . $v; |
|
| 2140 | + $res .= ', '.$v; |
|
| 2141 | 2141 | } |
| 2142 | 2142 | } |
| 2143 | 2143 | |
@@ -2275,13 +2275,13 @@ discard block |
||
| 2275 | 2275 | |
| 2276 | 2276 | $def_origine = sql_showtable($table_origine, false, $serveur); |
| 2277 | 2277 | if (!$def_origine or !isset($def_origine['field'])) { |
| 2278 | - spip_log("Alter table impossible sur $table_origine : table non trouvee", 'sqlite' . _LOG_ERREUR); |
|
| 2278 | + spip_log("Alter table impossible sur $table_origine : table non trouvee", 'sqlite'._LOG_ERREUR); |
|
| 2279 | 2279 | |
| 2280 | 2280 | return false; |
| 2281 | 2281 | } |
| 2282 | 2282 | |
| 2283 | 2283 | |
| 2284 | - $table_tmp = $table_origine . '_tmp'; |
|
| 2284 | + $table_tmp = $table_origine.'_tmp'; |
|
| 2285 | 2285 | |
| 2286 | 2286 | // 1) creer une table temporaire avec les modifications |
| 2287 | 2287 | // - DROP : suppression de la colonne |
@@ -2368,7 +2368,7 @@ discard block |
||
| 2368 | 2368 | } else { |
| 2369 | 2369 | // enlever KEY |
| 2370 | 2370 | $k = substr($k, 4); |
| 2371 | - $queries[] = "CREATE INDEX $table_destination" . "_$k ON $table_destination ($v)"; |
|
| 2371 | + $queries[] = "CREATE INDEX $table_destination"."_$k ON $table_destination ($v)"; |
|
| 2372 | 2372 | } |
| 2373 | 2373 | } |
| 2374 | 2374 | |
@@ -2379,7 +2379,7 @@ discard block |
||
| 2379 | 2379 | foreach ($queries as $q) { |
| 2380 | 2380 | if (!spip_sqlite::executer_requete($q, $serveur)) { |
| 2381 | 2381 | spip_log('SQLite : ALTER TABLE table :' |
| 2382 | - . " Erreur a l'execution de la requete : $q", 'sqlite.' . _LOG_ERREUR); |
|
| 2382 | + . " Erreur a l'execution de la requete : $q", 'sqlite.'._LOG_ERREUR); |
|
| 2383 | 2383 | spip_sqlite::annuler_transaction($serveur); |
| 2384 | 2384 | |
| 2385 | 2385 | return false; |
@@ -2468,27 +2468,27 @@ discard block |
||
| 2468 | 2468 | $enum = '(\s*\([^\)]*\))?'; |
| 2469 | 2469 | |
| 2470 | 2470 | $remplace = [ |
| 2471 | - '/enum' . $enum . '/is' => 'VARCHAR(255)', |
|
| 2471 | + '/enum'.$enum.'/is' => 'VARCHAR(255)', |
|
| 2472 | 2472 | '/COLLATE \w+_bin/is' => 'COLLATE BINARY', |
| 2473 | 2473 | '/COLLATE \w+_ci/is' => 'COLLATE NOCASE', |
| 2474 | 2474 | '/auto_increment/is' => '', |
| 2475 | 2475 | '/current_timestamp\(\)/is' => 'CURRENT_TIMESTAMP', // Fix export depuis mariaDB #4374 |
| 2476 | 2476 | '/(timestamp .* )ON .*$/is' => '\\1', |
| 2477 | 2477 | '/character set \w+/is' => '', |
| 2478 | - '/((big|small|medium|tiny)?int(eger)?)' . $num . '\s*unsigned/is' => '\\1 UNSIGNED', |
|
| 2478 | + '/((big|small|medium|tiny)?int(eger)?)'.$num.'\s*unsigned/is' => '\\1 UNSIGNED', |
|
| 2479 | 2479 | '/(text\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''", |
| 2480 | - '/((char|varchar)' . $num . '\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''", |
|
| 2480 | + '/((char|varchar)'.$num.'\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''", |
|
| 2481 | 2481 | '/(datetime\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00 00:00:00'", |
| 2482 | 2482 | '/(date\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00'", |
| 2483 | 2483 | ]; |
| 2484 | 2484 | |
| 2485 | 2485 | // pour l'autoincrement, il faut des INTEGER NOT NULL PRIMARY KEY |
| 2486 | 2486 | $remplace_autocinc = [ |
| 2487 | - '/(big|small|medium|tiny)?int(eger)?' . $num . '/is' => 'INTEGER' |
|
| 2487 | + '/(big|small|medium|tiny)?int(eger)?'.$num.'/is' => 'INTEGER' |
|
| 2488 | 2488 | ]; |
| 2489 | 2489 | // pour les int non autoincrement, il faut un DEFAULT |
| 2490 | 2490 | $remplace_nonautocinc = [ |
| 2491 | - '/((big|small|medium|tiny)?int(eger)?' . $num . '\s+not\s+null)\s*$/is' => "\\1 DEFAULT 0", |
|
| 2491 | + '/((big|small|medium|tiny)?int(eger)?'.$num.'\s+not\s+null)\s*$/is' => "\\1 DEFAULT 0", |
|
| 2492 | 2492 | ]; |
| 2493 | 2493 | |
| 2494 | 2494 | if (is_string($query)) { |
@@ -2530,7 +2530,7 @@ discard block |
||
| 2530 | 2530 | return str_ireplace('BINARY', 'COLLATE BINARY', $champ); |
| 2531 | 2531 | } |
| 2532 | 2532 | if (preg_match(',^(char|varchar|(long|small|medium|tiny)?text),i', $champ)) { |
| 2533 | - return $champ . ' COLLATE NOCASE'; |
|
| 2533 | + return $champ.' COLLATE NOCASE'; |
|
| 2534 | 2534 | } |
| 2535 | 2535 | |
| 2536 | 2536 | return $champ; |
@@ -2620,14 +2620,14 @@ discard block |
||
| 2620 | 2620 | } else { |
| 2621 | 2621 | /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */ |
| 2622 | 2622 | $a = spip_sqlite_showtable($nom, $serveur); |
| 2623 | - if (isset($a['key']['KEY ' . $nom])) { |
|
| 2623 | + if (isset($a['key']['KEY '.$nom])) { |
|
| 2624 | 2624 | return true; |
| 2625 | 2625 | } |
| 2626 | 2626 | } |
| 2627 | 2627 | } |
| 2628 | 2628 | |
| 2629 | 2629 | $temporary = $temporary ? ' TEMPORARY' : ''; |
| 2630 | - $q = "CREATE$temporary TABLE$ifnotexists $nom ($query" . ($keys ? ",$keys" : '') . ")\n"; |
|
| 2630 | + $q = "CREATE$temporary TABLE$ifnotexists $nom ($query".($keys ? ",$keys" : '').")\n"; |
|
| 2631 | 2631 | |
| 2632 | 2632 | return $q; |
| 2633 | 2633 | } |
@@ -2848,7 +2848,7 @@ discard block |
||
| 2848 | 2848 | $this->serveur = strtolower($serveur); |
| 2849 | 2849 | |
| 2850 | 2850 | if (!($this->link = _sqlite_link($this->serveur)) && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)) { |
| 2851 | - spip_log('Aucune connexion sqlite (link)', 'sqlite.' . _LOG_ERREUR); |
|
| 2851 | + spip_log('Aucune connexion sqlite (link)', 'sqlite.'._LOG_ERREUR); |
|
| 2852 | 2852 | |
| 2853 | 2853 | return false; |
| 2854 | 2854 | } |
@@ -2894,7 +2894,7 @@ discard block |
||
| 2894 | 2894 | try { |
| 2895 | 2895 | $r = $this->link->query($query); |
| 2896 | 2896 | } catch (\PDOException $e) { |
| 2897 | - spip_log('PDOException: ' . $e->getMessage(), 'sqlite.' . _LOG_DEBUG); |
|
| 2897 | + spip_log('PDOException: '.$e->getMessage(), 'sqlite.'._LOG_DEBUG); |
|
| 2898 | 2898 | $r = false; |
| 2899 | 2899 | } |
| 2900 | 2900 | // sauvegarde de la requete (elle y est deja dans $r->queryString) |
@@ -2915,11 +2915,11 @@ discard block |
||
| 2915 | 2915 | |
| 2916 | 2916 | // loger les warnings/erreurs eventuels de sqlite remontant dans PHP |
| 2917 | 2917 | if ($e and $e instanceof \PDOException) { |
| 2918 | - $err = strip_tags($e->getMessage()) . ' in ' . $e->getFile() . ' line ' . $e->getLine(); |
|
| 2919 | - spip_log("$err - " . $query, 'sqlite.' . _LOG_ERREUR); |
|
| 2918 | + $err = strip_tags($e->getMessage()).' in '.$e->getFile().' line '.$e->getLine(); |
|
| 2919 | + spip_log("$err - ".$query, 'sqlite.'._LOG_ERREUR); |
|
| 2920 | 2920 | } elseif ($err = (function_exists('error_get_last') ? error_get_last() : '') and $err != $last_error) { |
| 2921 | - $err = strip_tags($err['message']) . ' in ' . $err['file'] . ' line ' . $err['line']; |
|
| 2922 | - spip_log("$err - " . $query, 'sqlite.' . _LOG_ERREUR); |
|
| 2921 | + $err = strip_tags($err['message']).' in '.$err['file'].' line '.$err['line']; |
|
| 2922 | + spip_log("$err - ".$query, 'sqlite.'._LOG_ERREUR); |
|
| 2923 | 2923 | } else { |
| 2924 | 2924 | $err = ''; |
| 2925 | 2925 | } |
@@ -2997,15 +2997,15 @@ discard block |
||
| 2997 | 2997 | // Correction Create Database |
| 2998 | 2998 | // Create Database -> requete ignoree |
| 2999 | 2999 | if (strpos($this->query, 'CREATE DATABASE') === 0) { |
| 3000 | - spip_log("Sqlite : requete non executee -> $this->query", 'sqlite.' . _LOG_AVERTISSEMENT); |
|
| 3000 | + spip_log("Sqlite : requete non executee -> $this->query", 'sqlite.'._LOG_AVERTISSEMENT); |
|
| 3001 | 3001 | $this->query = 'SELECT 1'; |
| 3002 | 3002 | } |
| 3003 | 3003 | |
| 3004 | 3004 | // Correction Insert Ignore |
| 3005 | 3005 | // INSERT IGNORE -> insert (tout court et pas 'insert or replace') |
| 3006 | 3006 | if (strpos($this->query, 'INSERT IGNORE') === 0) { |
| 3007 | - spip_log("Sqlite : requete transformee -> $this->query", 'sqlite.' . _LOG_DEBUG); |
|
| 3008 | - $this->query = 'INSERT ' . substr($this->query, '13'); |
|
| 3007 | + spip_log("Sqlite : requete transformee -> $this->query", 'sqlite.'._LOG_DEBUG); |
|
| 3008 | + $this->query = 'INSERT '.substr($this->query, '13'); |
|
| 3009 | 3009 | } |
| 3010 | 3010 | |
| 3011 | 3011 | // Correction des dates avec INTERVAL |
@@ -3033,7 +3033,7 @@ discard block |
||
| 3033 | 3033 | if (($this->sqlite_version == 2) && (strpos($this->query, 'USING') !== false)) { |
| 3034 | 3034 | spip_log( |
| 3035 | 3035 | "'USING (champ)' n'est pas reconnu en SQLite 2. Utilisez 'ON table1.champ = table2.champ'", |
| 3036 | - 'sqlite.' . _LOG_ERREUR |
|
| 3036 | + 'sqlite.'._LOG_ERREUR |
|
| 3037 | 3037 | ); |
| 3038 | 3038 | $this->query = preg_replace('/USING\s*\([^\)]*\)/', '', $this->query); |
| 3039 | 3039 | } |
@@ -3056,8 +3056,8 @@ discard block |
||
| 3056 | 3056 | } else { |
| 3057 | 3057 | $suite = ''; |
| 3058 | 3058 | } |
| 3059 | - $pref = ($this->prefixe) ? $this->prefixe . '_' : ''; |
|
| 3060 | - $this->query = preg_replace('/([,\s])spip_/S', '\1' . $pref, $this->query) . $suite; |
|
| 3059 | + $pref = ($this->prefixe) ? $this->prefixe.'_' : ''; |
|
| 3060 | + $this->query = preg_replace('/([,\s])spip_/S', '\1'.$pref, $this->query).$suite; |
|
| 3061 | 3061 | |
| 3062 | 3062 | // Correction zero AS x |
| 3063 | 3063 | // pg n'aime pas 0+x AS alias, sqlite, dans le meme style, |
@@ -4,684 +4,684 @@ |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'access_interface_graphique' => 'グラフィカルインターフェースに戻る', |
|
| 14 | - 'access_mode_texte' => 'シンプルなテキストインターフェースを表示する', |
|
| 15 | - 'admin_debug' => 'デバッグ', |
|
| 16 | - 'admin_modifier_article' => '記事を修正する', |
|
| 17 | - 'admin_modifier_auteur' => '著者を修正する', |
|
| 18 | - 'admin_modifier_breve' => 'ニュースを修正する', |
|
| 19 | - 'admin_modifier_mot' => 'キーワードを修正する', |
|
| 20 | - 'admin_modifier_rubrique' => 'セクションを修正する', |
|
| 21 | - 'admin_recalculer' => 'ページの再読み込み', |
|
| 22 | - 'afficher_calendrier' => 'カレンダーを表示する', |
|
| 23 | - 'afficher_trad' => '翻訳を表示する', |
|
| 24 | - 'alerte_maj_impossible' => '<b>警告</b> MySQLは、データベースを@version@にアップデート出来ませんでした。 |
|
| 12 | + // A |
|
| 13 | + 'access_interface_graphique' => 'グラフィカルインターフェースに戻る', |
|
| 14 | + 'access_mode_texte' => 'シンプルなテキストインターフェースを表示する', |
|
| 15 | + 'admin_debug' => 'デバッグ', |
|
| 16 | + 'admin_modifier_article' => '記事を修正する', |
|
| 17 | + 'admin_modifier_auteur' => '著者を修正する', |
|
| 18 | + 'admin_modifier_breve' => 'ニュースを修正する', |
|
| 19 | + 'admin_modifier_mot' => 'キーワードを修正する', |
|
| 20 | + 'admin_modifier_rubrique' => 'セクションを修正する', |
|
| 21 | + 'admin_recalculer' => 'ページの再読み込み', |
|
| 22 | + 'afficher_calendrier' => 'カレンダーを表示する', |
|
| 23 | + 'afficher_trad' => '翻訳を表示する', |
|
| 24 | + 'alerte_maj_impossible' => '<b>警告</b> MySQLは、データベースを@version@にアップデート出来ませんでした。 |
|
| 25 | 25 | データベースのアクセス権に問題があると思われます。プロバイダにお問い合わせく |
| 26 | 26 | ださい。', |
| 27 | - 'alerte_modif_info_concourante' => '<b>警告</b> この情報は他の所で修正されました。現在の情報は:', |
|
| 28 | - 'analyse_xml' => 'XML解析', |
|
| 29 | - 'annuler' => '取り消す', |
|
| 30 | - 'antispam_champ_vide' => '空白のままに残してください。', |
|
| 31 | - 'articles_recents' => '最新の記事', |
|
| 32 | - 'avis_1_erreur_saisie' => 'エラーが1件あり、入力された情報を確認してください。', |
|
| 33 | - 'avis_archive_incorrect' => 'この圧縮ファイルは、SPIP用のファイルではありません。', |
|
| 34 | - 'avis_archive_invalide' => 'この圧縮ファイルは無効です。', |
|
| 35 | - 'avis_attention' => '警戒!', |
|
| 36 | - 'avis_champ_incorrect_type_objet' => 'タイプ@type@のオブジェクトに対して、フィールド名@name@が無効です。', |
|
| 37 | - 'avis_colonne_inexistante' => 'カラム@col@がありません。', |
|
| 38 | - 'avis_erreur' => 'エラー: 下記を見る', |
|
| 39 | - 'avis_erreur_connexion' => '接続エラー', |
|
| 40 | - 'avis_erreur_cookie' => 'クッキーの問題', |
|
| 41 | - 'avis_erreur_fonction_contexte' => '開発のエラーです。この機能は前後関係で呼び出されるべきではありません。', |
|
| 42 | - 'avis_erreur_mysql' => 'SQLエラー', |
|
| 43 | - 'avis_erreur_sauvegarde' => 'バックアップエラー (@type@@id_objet@)!', |
|
| 44 | - 'avis_erreur_visiteur' => '管理エリアへのアクセスエラー', |
|
| 45 | - 'avis_nb_erreurs_saisie' => 'エラーが@nb@件あり、入力された情報を確認してください。', |
|
| 27 | + 'alerte_modif_info_concourante' => '<b>警告</b> この情報は他の所で修正されました。現在の情報は:', |
|
| 28 | + 'analyse_xml' => 'XML解析', |
|
| 29 | + 'annuler' => '取り消す', |
|
| 30 | + 'antispam_champ_vide' => '空白のままに残してください。', |
|
| 31 | + 'articles_recents' => '最新の記事', |
|
| 32 | + 'avis_1_erreur_saisie' => 'エラーが1件あり、入力された情報を確認してください。', |
|
| 33 | + 'avis_archive_incorrect' => 'この圧縮ファイルは、SPIP用のファイルではありません。', |
|
| 34 | + 'avis_archive_invalide' => 'この圧縮ファイルは無効です。', |
|
| 35 | + 'avis_attention' => '警戒!', |
|
| 36 | + 'avis_champ_incorrect_type_objet' => 'タイプ@type@のオブジェクトに対して、フィールド名@name@が無効です。', |
|
| 37 | + 'avis_colonne_inexistante' => 'カラム@col@がありません。', |
|
| 38 | + 'avis_erreur' => 'エラー: 下記を見る', |
|
| 39 | + 'avis_erreur_connexion' => '接続エラー', |
|
| 40 | + 'avis_erreur_cookie' => 'クッキーの問題', |
|
| 41 | + 'avis_erreur_fonction_contexte' => '開発のエラーです。この機能は前後関係で呼び出されるべきではありません。', |
|
| 42 | + 'avis_erreur_mysql' => 'SQLエラー', |
|
| 43 | + 'avis_erreur_sauvegarde' => 'バックアップエラー (@type@@id_objet@)!', |
|
| 44 | + 'avis_erreur_visiteur' => '管理エリアへのアクセスエラー', |
|
| 45 | + 'avis_nb_erreurs_saisie' => 'エラーが@nb@件あり、入力された情報を確認してください。', |
|
| 46 | 46 | |
| 47 | - // B |
|
| 48 | - 'barre_a_accent_grave' => 'アクセント記号つきの大文字Aを挿入してください。', |
|
| 49 | - 'barre_aide' => 'ページレイアウトを充実させるために、「ショートカット」を使用してください。', |
|
| 50 | - 'barre_e_accent_aigu' => '鋭いアクセントで大文字Eを挿入してください', |
|
| 51 | - 'barre_eo' => 'OとEの合字の挿入(訳注:主にフランス語で使用)', |
|
| 52 | - 'barre_eo_maj' => 'OとEの合字の大文字を挿入(訳注:主にフランス語で使用)', |
|
| 53 | - 'barre_euro' => '「€」記号を入れてください。', |
|
| 54 | - 'barre_gras' => '太字にする {{ボールド}}', |
|
| 55 | - 'barre_guillemets' => '\\"2重引用符\\"の間の場所', |
|
| 56 | - 'barre_guillemets_simples' => '’一重引用符’の間の場所', |
|
| 57 | - 'barre_intertitre' => '変える {{{subheading}}}', |
|
| 58 | - 'barre_italic' => '{イタリック} にする', |
|
| 59 | - 'barre_lien' => 'ハイパーリンクの差込 [リンク先->http://...]', |
|
| 60 | - 'barre_lien_input' => 'あなたのハイパーリンクの目標を入力してください (あなたはフォームのURLに |
|
| 47 | + // B |
|
| 48 | + 'barre_a_accent_grave' => 'アクセント記号つきの大文字Aを挿入してください。', |
|
| 49 | + 'barre_aide' => 'ページレイアウトを充実させるために、「ショートカット」を使用してください。', |
|
| 50 | + 'barre_e_accent_aigu' => '鋭いアクセントで大文字Eを挿入してください', |
|
| 51 | + 'barre_eo' => 'OとEの合字の挿入(訳注:主にフランス語で使用)', |
|
| 52 | + 'barre_eo_maj' => 'OとEの合字の大文字を挿入(訳注:主にフランス語で使用)', |
|
| 53 | + 'barre_euro' => '「€」記号を入れてください。', |
|
| 54 | + 'barre_gras' => '太字にする {{ボールド}}', |
|
| 55 | + 'barre_guillemets' => '\\"2重引用符\\"の間の場所', |
|
| 56 | + 'barre_guillemets_simples' => '’一重引用符’の間の場所', |
|
| 57 | + 'barre_intertitre' => '変える {{{subheading}}}', |
|
| 58 | + 'barre_italic' => '{イタリック} にする', |
|
| 59 | + 'barre_lien' => 'ハイパーリンクの差込 [リンク先->http://...]', |
|
| 60 | + 'barre_lien_input' => 'あなたのハイパーリンクの目標を入力してください (あなたはフォームのURLに |
|
| 61 | 61 | http://mysite.com、あるいは単純にこのサイトの記事番号を与えてもよいです)。', |
| 62 | - 'barre_note' => '変える [[Footnote]]', |
|
| 63 | - 'barre_paragraphe' => '段落を作成する', |
|
| 64 | - 'barre_quote' => '<quote>メッセージへ引用符</quote>', |
|
| 65 | - 'bouton_changer' => '修正する', |
|
| 66 | - 'bouton_chercher' => '検索する', |
|
| 67 | - 'bouton_choisir' => '選択する', |
|
| 68 | - 'bouton_deplacer' => '移動する', |
|
| 69 | - 'bouton_download' => 'ダウンロードする', |
|
| 70 | - 'bouton_enregistrer' => '保存する', |
|
| 71 | - 'bouton_radio_desactiver_messagerie_interne' => '内部のメッセージ交換を停止する', |
|
| 72 | - 'bouton_radio_envoi_annonces' => '編集告知を送信する', |
|
| 73 | - 'bouton_radio_non_envoi_annonces' => '編集告知を送信しない', |
|
| 74 | - 'bouton_radio_non_envoi_liste_nouveautes' => '最新ニュースリストを送信しない', |
|
| 75 | - 'bouton_recharger_page' => 'ページを再読み込む', |
|
| 76 | - 'bouton_telecharger' => 'アップロードする', |
|
| 77 | - 'bouton_upload' => 'アップロードする', |
|
| 78 | - 'bouton_valider' => '確認する', |
|
| 62 | + 'barre_note' => '変える [[Footnote]]', |
|
| 63 | + 'barre_paragraphe' => '段落を作成する', |
|
| 64 | + 'barre_quote' => '<quote>メッセージへ引用符</quote>', |
|
| 65 | + 'bouton_changer' => '修正する', |
|
| 66 | + 'bouton_chercher' => '検索する', |
|
| 67 | + 'bouton_choisir' => '選択する', |
|
| 68 | + 'bouton_deplacer' => '移動する', |
|
| 69 | + 'bouton_download' => 'ダウンロードする', |
|
| 70 | + 'bouton_enregistrer' => '保存する', |
|
| 71 | + 'bouton_radio_desactiver_messagerie_interne' => '内部のメッセージ交換を停止する', |
|
| 72 | + 'bouton_radio_envoi_annonces' => '編集告知を送信する', |
|
| 73 | + 'bouton_radio_non_envoi_annonces' => '編集告知を送信しない', |
|
| 74 | + 'bouton_radio_non_envoi_liste_nouveautes' => '最新ニュースリストを送信しない', |
|
| 75 | + 'bouton_recharger_page' => 'ページを再読み込む', |
|
| 76 | + 'bouton_telecharger' => 'アップロードする', |
|
| 77 | + 'bouton_upload' => 'アップロードする', |
|
| 78 | + 'bouton_valider' => '確認する', |
|
| 79 | 79 | |
| 80 | - // C |
|
| 81 | - 'cal_apresmidi' => '午後', |
|
| 82 | - 'cal_jour_entier' => '終日', |
|
| 83 | - 'cal_matin' => '午前', |
|
| 84 | - 'cal_par_jour' => '日めくりカレンダー', |
|
| 85 | - 'cal_par_mois' => '月めくりカレンダー', |
|
| 86 | - 'cal_par_semaine' => '週めくりカレンダー', |
|
| 87 | - 'choix_couleur_interface' => '色', |
|
| 88 | - 'choix_interface' => 'インターフェイスを選択する', |
|
| 89 | - 'colonne' => 'コラム', |
|
| 90 | - 'confirm_changer_statut' => '警戒!記事のステータスの変更をしてもらうように頼みました。続けますか。', |
|
| 91 | - 'correcte' => '正解', |
|
| 80 | + // C |
|
| 81 | + 'cal_apresmidi' => '午後', |
|
| 82 | + 'cal_jour_entier' => '終日', |
|
| 83 | + 'cal_matin' => '午前', |
|
| 84 | + 'cal_par_jour' => '日めくりカレンダー', |
|
| 85 | + 'cal_par_mois' => '月めくりカレンダー', |
|
| 86 | + 'cal_par_semaine' => '週めくりカレンダー', |
|
| 87 | + 'choix_couleur_interface' => '色', |
|
| 88 | + 'choix_interface' => 'インターフェイスを選択する', |
|
| 89 | + 'colonne' => 'コラム', |
|
| 90 | + 'confirm_changer_statut' => '警戒!記事のステータスの変更をしてもらうように頼みました。続けますか。', |
|
| 91 | + 'correcte' => '正解', |
|
| 92 | 92 | |
| 93 | - // D |
|
| 94 | - 'date_aujourdhui' => '今日', |
|
| 95 | - 'date_avant_jc' => '紀元前', |
|
| 96 | - 'date_dans' => '@delai@後', |
|
| 97 | - 'date_de_mois_1' => '@nommois@@j@日', |
|
| 98 | - 'date_de_mois_10' => '@nommois@@j@日', |
|
| 99 | - 'date_de_mois_11' => '@nommois@@j@日', |
|
| 100 | - 'date_de_mois_12' => '@nommois@@j@日', |
|
| 101 | - 'date_de_mois_2' => '@nommois@@j@日', |
|
| 102 | - 'date_de_mois_3' => '@nommois@@j@日', |
|
| 103 | - 'date_de_mois_4' => '@nommois@@j@日', |
|
| 104 | - 'date_de_mois_5' => '@nommois@@j@日', |
|
| 105 | - 'date_de_mois_6' => '@nommois@@j@日', |
|
| 106 | - 'date_de_mois_7' => '@nommois@@j@日', |
|
| 107 | - 'date_de_mois_8' => '@nommois@@j@日', |
|
| 108 | - 'date_de_mois_9' => '@nommois@@j@日', |
|
| 109 | - 'date_demain' => '明日', |
|
| 110 | - 'date_fmt_heures_minutes' => '@h@時@m@分', |
|
| 111 | - 'date_fmt_heures_minutes_court' => '@h@時@m@分', |
|
| 112 | - 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 113 | - 'date_fmt_jour_heure' => '@jour@の@heure@', |
|
| 114 | - 'date_fmt_jour_heure_debut_fin' => '@jour@に、@heure_debut@より@heure_fin@まで', |
|
| 115 | - 'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@に、@heure_debut@@dtabbr@より@dtend@@heure_fin@@dtabbr@まで', |
|
| 116 | - 'date_fmt_jour_mois' => '@nommois@@jour@日', |
|
| 117 | - 'date_fmt_jour_mois_annee' => '@annee@年@nommois@@jour@日', |
|
| 118 | - 'date_fmt_mois_annee' => '@annee@年@nommois@', |
|
| 119 | - 'date_fmt_nomjour' => '@date@に@nomjour@日', |
|
| 120 | - 'date_fmt_nomjour_date' => '@date@に@nomjour@日', |
|
| 121 | - 'date_fmt_periode' => '@date_debut@より@date_fin@まで', |
|
| 122 | - 'date_fmt_periode_abbr' => '@dtart@@date_debut@@dtabbr@より @dtend@@date_fin@@dtabbr@まで', |
|
| 123 | - 'date_fmt_periode_from' => 'より', |
|
| 124 | - 'date_fmt_periode_to' => 'まで', |
|
| 125 | - 'date_fmt_saison_annee' => '@annee@年の@saison@', |
|
| 126 | - 'date_heures' => '時間', |
|
| 127 | - 'date_hier' => '昨日', |
|
| 128 | - 'date_il_y_a' => '@delai@前', |
|
| 129 | - 'date_jnum1' => '1', |
|
| 130 | - 'date_jnum10' => '10', |
|
| 131 | - 'date_jnum11' => '11', |
|
| 132 | - 'date_jnum12' => '12', |
|
| 133 | - 'date_jnum13' => '13', |
|
| 134 | - 'date_jnum14' => '14', |
|
| 135 | - 'date_jnum15' => '15', |
|
| 136 | - 'date_jnum16' => '16', |
|
| 137 | - 'date_jnum17' => '17', |
|
| 138 | - 'date_jnum18' => '18', |
|
| 139 | - 'date_jnum19' => '19', |
|
| 140 | - 'date_jnum2' => '2', |
|
| 141 | - 'date_jnum20' => '20', |
|
| 142 | - 'date_jnum21' => '21', |
|
| 143 | - 'date_jnum22' => '22', |
|
| 144 | - 'date_jnum23' => '23', |
|
| 145 | - 'date_jnum24' => '24', |
|
| 146 | - 'date_jnum25' => '25', |
|
| 147 | - 'date_jnum26' => '26', |
|
| 148 | - 'date_jnum27' => '27', |
|
| 149 | - 'date_jnum28' => '28', |
|
| 150 | - 'date_jnum29' => '29', |
|
| 151 | - 'date_jnum3' => '3', |
|
| 152 | - 'date_jnum30' => '30', |
|
| 153 | - 'date_jnum31' => '31', |
|
| 154 | - 'date_jnum4' => '4', |
|
| 155 | - 'date_jnum5' => '5', |
|
| 156 | - 'date_jnum6' => '6', |
|
| 157 | - 'date_jnum7' => '7', |
|
| 158 | - 'date_jnum8' => '8', |
|
| 159 | - 'date_jnum9' => '9', |
|
| 160 | - 'date_jour_1' => '日曜日', |
|
| 161 | - 'date_jour_1_abbr' => '日', |
|
| 162 | - 'date_jour_1_initiale' => '日', |
|
| 163 | - 'date_jour_2' => '月曜日', |
|
| 164 | - 'date_jour_2_abbr' => '月', |
|
| 165 | - 'date_jour_2_initiale' => '月', |
|
| 166 | - 'date_jour_3' => '火曜日', |
|
| 167 | - 'date_jour_3_abbr' => '火', |
|
| 168 | - 'date_jour_3_initiale' => '火', |
|
| 169 | - 'date_jour_4' => '水曜日', |
|
| 170 | - 'date_jour_4_abbr' => '水', |
|
| 171 | - 'date_jour_4_initiale' => '水', |
|
| 172 | - 'date_jour_5' => '木曜日', |
|
| 173 | - 'date_jour_5_abbr' => '木', |
|
| 174 | - 'date_jour_5_initiale' => '木', |
|
| 175 | - 'date_jour_6' => '金曜日', |
|
| 176 | - 'date_jour_6_abbr' => '金', |
|
| 177 | - 'date_jour_6_initiale' => '金', |
|
| 178 | - 'date_jour_7' => '土曜日', |
|
| 179 | - 'date_jour_7_abbr' => '土', |
|
| 180 | - 'date_jour_7_initiale' => '土', |
|
| 181 | - 'date_jours' => '日', |
|
| 182 | - 'date_minutes' => '分', |
|
| 183 | - 'date_mois' => 'ヶ月', |
|
| 184 | - 'date_mois_1' => '1月', |
|
| 185 | - 'date_mois_10' => '10月', |
|
| 186 | - 'date_mois_10_abbr' => '10月', |
|
| 187 | - 'date_mois_11' => '11月', |
|
| 188 | - 'date_mois_11_abbr' => '11月', |
|
| 189 | - 'date_mois_12' => '12月', |
|
| 190 | - 'date_mois_12_abbr' => '12月', |
|
| 191 | - 'date_mois_1_abbr' => '1月', |
|
| 192 | - 'date_mois_2' => '2月', |
|
| 193 | - 'date_mois_2_abbr' => '2月', |
|
| 194 | - 'date_mois_3' => '3月', |
|
| 195 | - 'date_mois_3_abbr' => '3月', |
|
| 196 | - 'date_mois_4' => '4月', |
|
| 197 | - 'date_mois_4_abbr' => '4月', |
|
| 198 | - 'date_mois_5' => '5月', |
|
| 199 | - 'date_mois_5_abbr' => '5月', |
|
| 200 | - 'date_mois_6' => '6月', |
|
| 201 | - 'date_mois_6_abbr' => '6月', |
|
| 202 | - 'date_mois_7' => '7月', |
|
| 203 | - 'date_mois_7_abbr' => '7月', |
|
| 204 | - 'date_mois_8' => '8月', |
|
| 205 | - 'date_mois_8_abbr' => '8月', |
|
| 206 | - 'date_mois_9' => '9月', |
|
| 207 | - 'date_mois_9_abbr' => '9月', |
|
| 208 | - 'date_saison_1' => '冬', |
|
| 209 | - 'date_saison_2' => '春', |
|
| 210 | - 'date_saison_3' => '夏', |
|
| 211 | - 'date_saison_4' => '秋', |
|
| 212 | - 'date_secondes' => '秒', |
|
| 213 | - 'date_semaines' => '週', |
|
| 214 | - 'date_un_mois' => '月', |
|
| 215 | - 'date_une_heure' => '時間', |
|
| 216 | - 'date_une_minute' => '分', |
|
| 217 | - 'date_une_seconde' => '秒', |
|
| 218 | - 'date_une_semaine' => '週間', |
|
| 219 | - 'dirs_commencer' => '本インストールを始める前に…', |
|
| 220 | - 'dirs_preliminaire' => 'まず: <b>アクセス権を設定する</b>', |
|
| 221 | - 'dirs_probleme_droits' => 'アクセス権エラー', |
|
| 222 | - 'dirs_repertoires_absents' => '<b>次のフォルダは見つかりませんでした: <ul>@bad_dirs@</ul></b><p>考えられる原因は小文字大文字の扱い方が間違っている。これらのフォルダの小文字大文字が上に表示されているものと一致しているかどうか確認してください。エラーを修正するために、FTPクライアントで、フォルダをリネームした上、出来ることになる。</p>', |
|
| 223 | - 'dirs_repertoires_suivants' => '<b>次のフォルダに書き込む許可がありません: <ul>@bad_dirs@</ul></b><p>エラーを修正するために、FTPクライアントで、これらのフォルダにアクセス権を修正してください。手順はインストールガイドに記述してあります。</p>', |
|
| 224 | - 'double_occurrence' => '二つの@balise@共起', |
|
| 93 | + // D |
|
| 94 | + 'date_aujourdhui' => '今日', |
|
| 95 | + 'date_avant_jc' => '紀元前', |
|
| 96 | + 'date_dans' => '@delai@後', |
|
| 97 | + 'date_de_mois_1' => '@nommois@@j@日', |
|
| 98 | + 'date_de_mois_10' => '@nommois@@j@日', |
|
| 99 | + 'date_de_mois_11' => '@nommois@@j@日', |
|
| 100 | + 'date_de_mois_12' => '@nommois@@j@日', |
|
| 101 | + 'date_de_mois_2' => '@nommois@@j@日', |
|
| 102 | + 'date_de_mois_3' => '@nommois@@j@日', |
|
| 103 | + 'date_de_mois_4' => '@nommois@@j@日', |
|
| 104 | + 'date_de_mois_5' => '@nommois@@j@日', |
|
| 105 | + 'date_de_mois_6' => '@nommois@@j@日', |
|
| 106 | + 'date_de_mois_7' => '@nommois@@j@日', |
|
| 107 | + 'date_de_mois_8' => '@nommois@@j@日', |
|
| 108 | + 'date_de_mois_9' => '@nommois@@j@日', |
|
| 109 | + 'date_demain' => '明日', |
|
| 110 | + 'date_fmt_heures_minutes' => '@h@時@m@分', |
|
| 111 | + 'date_fmt_heures_minutes_court' => '@h@時@m@分', |
|
| 112 | + 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 113 | + 'date_fmt_jour_heure' => '@jour@の@heure@', |
|
| 114 | + 'date_fmt_jour_heure_debut_fin' => '@jour@に、@heure_debut@より@heure_fin@まで', |
|
| 115 | + 'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@に、@heure_debut@@dtabbr@より@dtend@@heure_fin@@dtabbr@まで', |
|
| 116 | + 'date_fmt_jour_mois' => '@nommois@@jour@日', |
|
| 117 | + 'date_fmt_jour_mois_annee' => '@annee@年@nommois@@jour@日', |
|
| 118 | + 'date_fmt_mois_annee' => '@annee@年@nommois@', |
|
| 119 | + 'date_fmt_nomjour' => '@date@に@nomjour@日', |
|
| 120 | + 'date_fmt_nomjour_date' => '@date@に@nomjour@日', |
|
| 121 | + 'date_fmt_periode' => '@date_debut@より@date_fin@まで', |
|
| 122 | + 'date_fmt_periode_abbr' => '@dtart@@date_debut@@dtabbr@より @dtend@@date_fin@@dtabbr@まで', |
|
| 123 | + 'date_fmt_periode_from' => 'より', |
|
| 124 | + 'date_fmt_periode_to' => 'まで', |
|
| 125 | + 'date_fmt_saison_annee' => '@annee@年の@saison@', |
|
| 126 | + 'date_heures' => '時間', |
|
| 127 | + 'date_hier' => '昨日', |
|
| 128 | + 'date_il_y_a' => '@delai@前', |
|
| 129 | + 'date_jnum1' => '1', |
|
| 130 | + 'date_jnum10' => '10', |
|
| 131 | + 'date_jnum11' => '11', |
|
| 132 | + 'date_jnum12' => '12', |
|
| 133 | + 'date_jnum13' => '13', |
|
| 134 | + 'date_jnum14' => '14', |
|
| 135 | + 'date_jnum15' => '15', |
|
| 136 | + 'date_jnum16' => '16', |
|
| 137 | + 'date_jnum17' => '17', |
|
| 138 | + 'date_jnum18' => '18', |
|
| 139 | + 'date_jnum19' => '19', |
|
| 140 | + 'date_jnum2' => '2', |
|
| 141 | + 'date_jnum20' => '20', |
|
| 142 | + 'date_jnum21' => '21', |
|
| 143 | + 'date_jnum22' => '22', |
|
| 144 | + 'date_jnum23' => '23', |
|
| 145 | + 'date_jnum24' => '24', |
|
| 146 | + 'date_jnum25' => '25', |
|
| 147 | + 'date_jnum26' => '26', |
|
| 148 | + 'date_jnum27' => '27', |
|
| 149 | + 'date_jnum28' => '28', |
|
| 150 | + 'date_jnum29' => '29', |
|
| 151 | + 'date_jnum3' => '3', |
|
| 152 | + 'date_jnum30' => '30', |
|
| 153 | + 'date_jnum31' => '31', |
|
| 154 | + 'date_jnum4' => '4', |
|
| 155 | + 'date_jnum5' => '5', |
|
| 156 | + 'date_jnum6' => '6', |
|
| 157 | + 'date_jnum7' => '7', |
|
| 158 | + 'date_jnum8' => '8', |
|
| 159 | + 'date_jnum9' => '9', |
|
| 160 | + 'date_jour_1' => '日曜日', |
|
| 161 | + 'date_jour_1_abbr' => '日', |
|
| 162 | + 'date_jour_1_initiale' => '日', |
|
| 163 | + 'date_jour_2' => '月曜日', |
|
| 164 | + 'date_jour_2_abbr' => '月', |
|
| 165 | + 'date_jour_2_initiale' => '月', |
|
| 166 | + 'date_jour_3' => '火曜日', |
|
| 167 | + 'date_jour_3_abbr' => '火', |
|
| 168 | + 'date_jour_3_initiale' => '火', |
|
| 169 | + 'date_jour_4' => '水曜日', |
|
| 170 | + 'date_jour_4_abbr' => '水', |
|
| 171 | + 'date_jour_4_initiale' => '水', |
|
| 172 | + 'date_jour_5' => '木曜日', |
|
| 173 | + 'date_jour_5_abbr' => '木', |
|
| 174 | + 'date_jour_5_initiale' => '木', |
|
| 175 | + 'date_jour_6' => '金曜日', |
|
| 176 | + 'date_jour_6_abbr' => '金', |
|
| 177 | + 'date_jour_6_initiale' => '金', |
|
| 178 | + 'date_jour_7' => '土曜日', |
|
| 179 | + 'date_jour_7_abbr' => '土', |
|
| 180 | + 'date_jour_7_initiale' => '土', |
|
| 181 | + 'date_jours' => '日', |
|
| 182 | + 'date_minutes' => '分', |
|
| 183 | + 'date_mois' => 'ヶ月', |
|
| 184 | + 'date_mois_1' => '1月', |
|
| 185 | + 'date_mois_10' => '10月', |
|
| 186 | + 'date_mois_10_abbr' => '10月', |
|
| 187 | + 'date_mois_11' => '11月', |
|
| 188 | + 'date_mois_11_abbr' => '11月', |
|
| 189 | + 'date_mois_12' => '12月', |
|
| 190 | + 'date_mois_12_abbr' => '12月', |
|
| 191 | + 'date_mois_1_abbr' => '1月', |
|
| 192 | + 'date_mois_2' => '2月', |
|
| 193 | + 'date_mois_2_abbr' => '2月', |
|
| 194 | + 'date_mois_3' => '3月', |
|
| 195 | + 'date_mois_3_abbr' => '3月', |
|
| 196 | + 'date_mois_4' => '4月', |
|
| 197 | + 'date_mois_4_abbr' => '4月', |
|
| 198 | + 'date_mois_5' => '5月', |
|
| 199 | + 'date_mois_5_abbr' => '5月', |
|
| 200 | + 'date_mois_6' => '6月', |
|
| 201 | + 'date_mois_6_abbr' => '6月', |
|
| 202 | + 'date_mois_7' => '7月', |
|
| 203 | + 'date_mois_7_abbr' => '7月', |
|
| 204 | + 'date_mois_8' => '8月', |
|
| 205 | + 'date_mois_8_abbr' => '8月', |
|
| 206 | + 'date_mois_9' => '9月', |
|
| 207 | + 'date_mois_9_abbr' => '9月', |
|
| 208 | + 'date_saison_1' => '冬', |
|
| 209 | + 'date_saison_2' => '春', |
|
| 210 | + 'date_saison_3' => '夏', |
|
| 211 | + 'date_saison_4' => '秋', |
|
| 212 | + 'date_secondes' => '秒', |
|
| 213 | + 'date_semaines' => '週', |
|
| 214 | + 'date_un_mois' => '月', |
|
| 215 | + 'date_une_heure' => '時間', |
|
| 216 | + 'date_une_minute' => '分', |
|
| 217 | + 'date_une_seconde' => '秒', |
|
| 218 | + 'date_une_semaine' => '週間', |
|
| 219 | + 'dirs_commencer' => '本インストールを始める前に…', |
|
| 220 | + 'dirs_preliminaire' => 'まず: <b>アクセス権を設定する</b>', |
|
| 221 | + 'dirs_probleme_droits' => 'アクセス権エラー', |
|
| 222 | + 'dirs_repertoires_absents' => '<b>次のフォルダは見つかりませんでした: <ul>@bad_dirs@</ul></b><p>考えられる原因は小文字大文字の扱い方が間違っている。これらのフォルダの小文字大文字が上に表示されているものと一致しているかどうか確認してください。エラーを修正するために、FTPクライアントで、フォルダをリネームした上、出来ることになる。</p>', |
|
| 223 | + 'dirs_repertoires_suivants' => '<b>次のフォルダに書き込む許可がありません: <ul>@bad_dirs@</ul></b><p>エラーを修正するために、FTPクライアントで、これらのフォルダにアクセス権を修正してください。手順はインストールガイドに記述してあります。</p>', |
|
| 224 | + 'double_occurrence' => '二つの@balise@共起', |
|
| 225 | 225 | |
| 226 | - // E |
|
| 227 | - 'en_cours' => '処理中', |
|
| 228 | - 'envoi_via_le_site' => 'サイトで送信する', |
|
| 229 | - 'erreur' => 'エラー', |
|
| 230 | - 'erreur_balise_non_fermee' => '最後のタグは閉じられていない。', |
|
| 231 | - 'erreur_technique_ajaxform' => '予期のないエラーが起きて、フォームは送信されていません。やり直してください。', |
|
| 232 | - 'erreur_technique_enregistrement_champs' => '技術的なエラーが起きて、フィルド@champs@が登録されません。', |
|
| 233 | - 'erreur_technique_enregistrement_impossible' => '技術的なエラーが起きて、登録が不可能です。', |
|
| 234 | - 'erreur_texte' => 'エラー', |
|
| 235 | - 'etape' => '階', |
|
| 226 | + // E |
|
| 227 | + 'en_cours' => '処理中', |
|
| 228 | + 'envoi_via_le_site' => 'サイトで送信する', |
|
| 229 | + 'erreur' => 'エラー', |
|
| 230 | + 'erreur_balise_non_fermee' => '最後のタグは閉じられていない。', |
|
| 231 | + 'erreur_technique_ajaxform' => '予期のないエラーが起きて、フォームは送信されていません。やり直してください。', |
|
| 232 | + 'erreur_technique_enregistrement_champs' => '技術的なエラーが起きて、フィルド@champs@が登録されません。', |
|
| 233 | + 'erreur_technique_enregistrement_impossible' => '技術的なエラーが起きて、登録が不可能です。', |
|
| 234 | + 'erreur_texte' => 'エラー', |
|
| 235 | + 'etape' => '階', |
|
| 236 | 236 | |
| 237 | - // F |
|
| 238 | - 'fichier_introuvable' => 'ファイル@fichier@は見つからない。', |
|
| 239 | - 'form_auteur_confirmation' => 'メールアドレスを確認してください。', |
|
| 240 | - 'form_auteur_email_modifie' => 'メールアドレスは変更されました。', |
|
| 241 | - 'form_auteur_envoi_mail_confirmation' => '@email@に確認メールが送信されました。 このメールに記載されているウェブアドレスにアクセスしてから、登録されたメールアドレスを確認してください。', |
|
| 242 | - 'form_auteur_mail_confirmation' => 'こんにちは。メールアドレスを変更してもらうように依頼しました。 新しいメールアドレスを確認するには、下のウェブアドレスに接続する必要があります。 (さもないと御要求は無視になります。):@url@', |
|
| 243 | - 'form_deja_inscrit' => '既に申し込み済みです。', |
|
| 244 | - 'form_email_non_valide' => 'メールアドレスは有効ではありません。', |
|
| 245 | - 'form_forum_access_refuse' => '当サイトにアクセスはもう禁止です。', |
|
| 246 | - 'form_forum_bonjour' => '@nom@、こんにちは!', |
|
| 247 | - 'form_forum_confirmer_email' => 'メールアドレスを確認するには、このリンク@url_confirm@をご覧ください。', |
|
| 248 | - 'form_forum_email_deja_enregistre' => 'メールアドレスは登録済みで、いつものパスワードを使ってください。', |
|
| 249 | - 'form_forum_identifiant_mail' => '新規IDは、メールで送信されました。', |
|
| 250 | - 'form_forum_identifiants' => '個人ID', |
|
| 251 | - 'form_forum_indiquer_nom_email' => 'お名前とEメールアドレスを入力してください。 個人IDをメールですぐに送信します。', |
|
| 252 | - 'form_forum_login' => 'ログインID:', |
|
| 253 | - 'form_forum_message_auto' => '(自動送信メッセージです)', |
|
| 254 | - 'form_forum_pass' => 'パスワード:', |
|
| 255 | - 'form_forum_probleme_mail' => 'メールエラー:IDを送ることが出来ませんでした。', |
|
| 256 | - 'form_forum_voici1' => 'サイトの生活に協力するために、この個人IDを使ってください。"@nom_site_spip@" (@adresse_site@):', |
|
| 257 | - 'form_forum_voici2' => '当サイトに記事を提出するために、この個人IDを使ってください。 "@nom_site_spip@" (@adresse_login@):', |
|
| 258 | - 'form_indiquer_email' => 'メールアドレスを入力して下さい。', |
|
| 259 | - 'form_indiquer_nom' => 'お名前を入力して下さい。', |
|
| 260 | - 'form_indiquer_nom_site' => 'あなたのサイトの名前を入力して下さい。', |
|
| 261 | - 'form_pet_deja_enregistre' => 'このサイトは既に登録済みです。', |
|
| 262 | - 'form_pet_signature_pasprise' => 'あなたの署名は無視されました。', |
|
| 263 | - 'form_prop_confirmer_envoi' => '送信します。', |
|
| 264 | - 'form_prop_description' => '説明/コメント', |
|
| 265 | - 'form_prop_enregistre' => 'ご提案は登録されており、当サイトの管理者による検証した上で公開されます。', |
|
| 266 | - 'form_prop_envoyer' => 'メッセージを送る', |
|
| 267 | - 'form_prop_indiquer_email' => '有効なメールアドレスを入力して下さい。', |
|
| 268 | - 'form_prop_indiquer_nom_site' => 'サイトの名前を入力して下さい。', |
|
| 269 | - 'form_prop_indiquer_sujet' => '題名を入力して下さい。', |
|
| 270 | - 'form_prop_message_envoye' => 'メッセージは送られました。', |
|
| 271 | - 'form_prop_non_enregistre' => 'ご提案は登録されませんでした。', |
|
| 272 | - 'form_prop_sujet' => '題名', |
|
| 273 | - 'form_prop_url_site' => 'サイトのURL', |
|
| 274 | - 'format_date_incorrecte' => '日付か日付書式は正しくない。', |
|
| 275 | - 'format_heure_incorrecte' => '時間か時間書式は正しくない。', |
|
| 276 | - 'forum_non_inscrit' => '未登録かアドレスとパスワードが不合かどちらかです。', |
|
| 277 | - 'forum_par_auteur' => '@auteur@で', |
|
| 278 | - 'forum_titre_erreur' => 'エラー…', |
|
| 237 | + // F |
|
| 238 | + 'fichier_introuvable' => 'ファイル@fichier@は見つからない。', |
|
| 239 | + 'form_auteur_confirmation' => 'メールアドレスを確認してください。', |
|
| 240 | + 'form_auteur_email_modifie' => 'メールアドレスは変更されました。', |
|
| 241 | + 'form_auteur_envoi_mail_confirmation' => '@email@に確認メールが送信されました。 このメールに記載されているウェブアドレスにアクセスしてから、登録されたメールアドレスを確認してください。', |
|
| 242 | + 'form_auteur_mail_confirmation' => 'こんにちは。メールアドレスを変更してもらうように依頼しました。 新しいメールアドレスを確認するには、下のウェブアドレスに接続する必要があります。 (さもないと御要求は無視になります。):@url@', |
|
| 243 | + 'form_deja_inscrit' => '既に申し込み済みです。', |
|
| 244 | + 'form_email_non_valide' => 'メールアドレスは有効ではありません。', |
|
| 245 | + 'form_forum_access_refuse' => '当サイトにアクセスはもう禁止です。', |
|
| 246 | + 'form_forum_bonjour' => '@nom@、こんにちは!', |
|
| 247 | + 'form_forum_confirmer_email' => 'メールアドレスを確認するには、このリンク@url_confirm@をご覧ください。', |
|
| 248 | + 'form_forum_email_deja_enregistre' => 'メールアドレスは登録済みで、いつものパスワードを使ってください。', |
|
| 249 | + 'form_forum_identifiant_mail' => '新規IDは、メールで送信されました。', |
|
| 250 | + 'form_forum_identifiants' => '個人ID', |
|
| 251 | + 'form_forum_indiquer_nom_email' => 'お名前とEメールアドレスを入力してください。 個人IDをメールですぐに送信します。', |
|
| 252 | + 'form_forum_login' => 'ログインID:', |
|
| 253 | + 'form_forum_message_auto' => '(自動送信メッセージです)', |
|
| 254 | + 'form_forum_pass' => 'パスワード:', |
|
| 255 | + 'form_forum_probleme_mail' => 'メールエラー:IDを送ることが出来ませんでした。', |
|
| 256 | + 'form_forum_voici1' => 'サイトの生活に協力するために、この個人IDを使ってください。"@nom_site_spip@" (@adresse_site@):', |
|
| 257 | + 'form_forum_voici2' => '当サイトに記事を提出するために、この個人IDを使ってください。 "@nom_site_spip@" (@adresse_login@):', |
|
| 258 | + 'form_indiquer_email' => 'メールアドレスを入力して下さい。', |
|
| 259 | + 'form_indiquer_nom' => 'お名前を入力して下さい。', |
|
| 260 | + 'form_indiquer_nom_site' => 'あなたのサイトの名前を入力して下さい。', |
|
| 261 | + 'form_pet_deja_enregistre' => 'このサイトは既に登録済みです。', |
|
| 262 | + 'form_pet_signature_pasprise' => 'あなたの署名は無視されました。', |
|
| 263 | + 'form_prop_confirmer_envoi' => '送信します。', |
|
| 264 | + 'form_prop_description' => '説明/コメント', |
|
| 265 | + 'form_prop_enregistre' => 'ご提案は登録されており、当サイトの管理者による検証した上で公開されます。', |
|
| 266 | + 'form_prop_envoyer' => 'メッセージを送る', |
|
| 267 | + 'form_prop_indiquer_email' => '有効なメールアドレスを入力して下さい。', |
|
| 268 | + 'form_prop_indiquer_nom_site' => 'サイトの名前を入力して下さい。', |
|
| 269 | + 'form_prop_indiquer_sujet' => '題名を入力して下さい。', |
|
| 270 | + 'form_prop_message_envoye' => 'メッセージは送られました。', |
|
| 271 | + 'form_prop_non_enregistre' => 'ご提案は登録されませんでした。', |
|
| 272 | + 'form_prop_sujet' => '題名', |
|
| 273 | + 'form_prop_url_site' => 'サイトのURL', |
|
| 274 | + 'format_date_incorrecte' => '日付か日付書式は正しくない。', |
|
| 275 | + 'format_heure_incorrecte' => '時間か時間書式は正しくない。', |
|
| 276 | + 'forum_non_inscrit' => '未登録かアドレスとパスワードが不合かどちらかです。', |
|
| 277 | + 'forum_par_auteur' => '@auteur@で', |
|
| 278 | + 'forum_titre_erreur' => 'エラー…', |
|
| 279 | 279 | |
| 280 | - // I |
|
| 281 | - 'ical_texte_rss_articles' => 'サイト内の記事の「バックエンド」が次のアドレスにあります:', |
|
| 282 | - 'ical_texte_rss_articles2' => 'サイトの各セクションの記事のバックエンドファイルを取得することが出来ます:', |
|
| 283 | - 'ical_texte_rss_breves' => 'さらに、サイト内のニュースを含んでいるファイルがあります。セクション番号を選択することによって、そのセクションだけのニュースを取得できます。', |
|
| 284 | - 'icone_a_suivre' => 'つづき', |
|
| 285 | - 'icone_admin_site' => 'サイトの管理', |
|
| 286 | - 'icone_agenda' => 'カレンダー', |
|
| 287 | - 'icone_aide_ligne' => 'ヘルプ', |
|
| 288 | - 'icone_articles' => '記事', |
|
| 289 | - 'icone_auteurs' => '著者', |
|
| 290 | - 'icone_brouteur' => '素早いブラウジング', |
|
| 291 | - 'icone_configuration_site' => '環境設定', |
|
| 292 | - 'icone_configurer_site' => 'サイトの環境設定', |
|
| 293 | - 'icone_creer_nouvel_auteur' => '新規著者を作成する', |
|
| 294 | - 'icone_creer_rubrique' => '新規セクションを作成する', |
|
| 295 | - 'icone_creer_sous_rubrique' => 'サブセクションを作成する', |
|
| 296 | - 'icone_deconnecter' => 'ログアウト', |
|
| 297 | - 'icone_discussions' => '話題', |
|
| 298 | - 'icone_doc_rubrique' => 'セクション内のファイル', |
|
| 299 | - 'icone_ecrire_article' => '新規記事を書く', |
|
| 300 | - 'icone_edition_site' => '編集', |
|
| 301 | - 'icone_gestion_langues' => '言語管理', |
|
| 302 | - 'icone_informations_personnelles' => '個人情報', |
|
| 303 | - 'icone_interface_complet' => '完全なインターフェース', |
|
| 304 | - 'icone_interface_simple' => 'シンプルなインターフェース', |
|
| 305 | - 'icone_maintenance_site' => 'サイトの整備', |
|
| 306 | - 'icone_messagerie_personnelle' => '個人メッセージング', |
|
| 307 | - 'icone_repartition_debut' => '初めからの配分を表示する', |
|
| 308 | - 'icone_rubriques' => 'セクション', |
|
| 309 | - 'icone_sauver_site' => 'サイトのバックアップ', |
|
| 310 | - 'icone_site_entier' => 'サイトの全体', |
|
| 311 | - 'icone_sites_references' => '参照されたサイト', |
|
| 312 | - 'icone_statistiques' => 'サイトの統計', |
|
| 313 | - 'icone_suivi_activite' => 'サイトへの協力', |
|
| 314 | - 'icone_suivi_actualite' => 'サイトの進化', |
|
| 315 | - 'icone_suivi_pettions' => '請願書の管理', |
|
| 316 | - 'icone_suivi_revisions' => '記事修正の進化', |
|
| 317 | - 'icone_supprimer_document' => 'このドキュメントを削除', |
|
| 318 | - 'icone_supprimer_image' => 'この画像を削除する', |
|
| 319 | - 'icone_tous_articles' => '私のすべての記事', |
|
| 320 | - 'icone_tous_auteur' => 'すべての著者', |
|
| 321 | - 'icone_tous_visiteur' => 'すべての訪問者', |
|
| 322 | - 'icone_visiter_site' => '公開サイトを訪れる', |
|
| 323 | - 'icone_voir_en_ligne' => 'オンラインで見る', |
|
| 324 | - 'img_indisponible' => 'イメージは見つからない', |
|
| 325 | - 'impossible' => '不可能', |
|
| 326 | - 'info_a_suivre' => 'つづき', |
|
| 327 | - 'info_acces_interdit' => 'アクセス禁止', |
|
| 328 | - 'info_acces_refuse' => 'アクセスが拒否されました。', |
|
| 329 | - 'info_action' => 'アクション:@action@', |
|
| 330 | - 'info_administrer_rubriques' => 'このセクションとサブセクションを管理することができます。', |
|
| 331 | - 'info_adresse_non_indiquee' => 'テストをするためのアドレスを指定しませんでした!', |
|
| 332 | - 'info_aide' => 'ヘルプ:', |
|
| 333 | - 'info_ajouter_mot' => 'このキーワードを追加する', |
|
| 334 | - 'info_annonce' => '告知', |
|
| 335 | - 'info_annonces_generales' => '一般告知:', |
|
| 336 | - 'info_article_propose' => '提出済みの記事', |
|
| 337 | - 'info_article_publie' => '公開された記事', |
|
| 338 | - 'info_article_redaction' => '編集中の記事', |
|
| 339 | - 'info_article_refuse' => '拒否された記事', |
|
| 340 | - 'info_article_supprime' => '削除された記事', |
|
| 341 | - 'info_articles' => '記事', |
|
| 342 | - 'info_articles_a_valider' => '確認すべきの記事', |
|
| 343 | - 'info_articles_nb' => '記事@nb@件', |
|
| 344 | - 'info_articles_proposes' => '提出済みの記事', |
|
| 345 | - 'info_articles_un' => '記事1件', |
|
| 346 | - 'info_auteurs_nombre' => '著者:', |
|
| 347 | - 'info_authentification_ftp' => 'FTPによる認証', |
|
| 348 | - 'info_breves_2' => 'ニュース', |
|
| 349 | - 'info_breves_nb' => 'ニュース@nb@件', |
|
| 350 | - 'info_breves_un' => 'ニュース 1 件', |
|
| 351 | - 'info_connexion_refusee' => '接続が拒否されました。', |
|
| 352 | - 'info_contact_developpeur' => '開発者と連絡して下さい。', |
|
| 353 | - 'info_contenance' => '当サイトの内容:', |
|
| 354 | - 'info_contribution' => '掲示板の投稿', |
|
| 355 | - 'info_copyright' => '@spip@は、@lien_gpl@で配布されるフリーソフトです。', |
|
| 356 | - 'info_copyright_doc' => '詳細情報は<a href="@spipnet@">@spipnet_affiche@</a>をご覧ください。', |
|
| 357 | - 'info_copyright_gpl' => 'GPLライセンスのもとで', |
|
| 358 | - 'info_cours_edition' => '編集中の記事', # MODIF |
|
| 359 | - 'info_creer_repertoire' => 'ファイルかフォルダかかを作成してください:', |
|
| 360 | - 'info_creer_repertoire_2' => 'サブフォルダー<b>@repertoire@</b>内、そして', |
|
| 361 | - 'info_creer_vignette' => 'サムネイルの自動制作', |
|
| 362 | - 'info_creerdansrubrique_non_autorise' => 'このセクションでコンテンツを作成するために、アクセス権が足りません。', |
|
| 363 | - 'info_deplier' => '表示する', |
|
| 364 | - 'info_descriptif_nombre' => '記述:', |
|
| 365 | - 'info_description' => '記述:', |
|
| 366 | - 'info_description_2' => '記述:', |
|
| 367 | - 'info_dimension' => 'サイズ:', |
|
| 368 | - 'info_documents_nb' => 'ファイル@nb@件', |
|
| 369 | - 'info_documents_un' => 'ファイル 1 件', |
|
| 370 | - 'info_ecire_message_prive' => 'プライベートメッセージを書く', |
|
| 371 | - 'info_email_invalide' => 'メールアドレスは無効です。', |
|
| 372 | - 'info_en_cours_validation' => '確認すべきの私の記事', |
|
| 373 | - 'info_en_ligne' => 'オンライン中:', |
|
| 374 | - 'info_envoyer_message_prive' => 'この著者にプライベートメッセージを送る', |
|
| 375 | - 'info_erreur_requete' => 'クエリのエラー:', |
|
| 376 | - 'info_erreur_squelette2' => 'テンプレート<b>@fichier@</b> が見つからない', |
|
| 377 | - 'info_erreur_systeme' => 'システムエラー(エラー番号:@errsys@)', |
|
| 378 | - 'info_erreur_systeme2' => 'ハードドライブがいっぱいになったか、データベースが破損している可能性があります。<br/> |
|
| 280 | + // I |
|
| 281 | + 'ical_texte_rss_articles' => 'サイト内の記事の「バックエンド」が次のアドレスにあります:', |
|
| 282 | + 'ical_texte_rss_articles2' => 'サイトの各セクションの記事のバックエンドファイルを取得することが出来ます:', |
|
| 283 | + 'ical_texte_rss_breves' => 'さらに、サイト内のニュースを含んでいるファイルがあります。セクション番号を選択することによって、そのセクションだけのニュースを取得できます。', |
|
| 284 | + 'icone_a_suivre' => 'つづき', |
|
| 285 | + 'icone_admin_site' => 'サイトの管理', |
|
| 286 | + 'icone_agenda' => 'カレンダー', |
|
| 287 | + 'icone_aide_ligne' => 'ヘルプ', |
|
| 288 | + 'icone_articles' => '記事', |
|
| 289 | + 'icone_auteurs' => '著者', |
|
| 290 | + 'icone_brouteur' => '素早いブラウジング', |
|
| 291 | + 'icone_configuration_site' => '環境設定', |
|
| 292 | + 'icone_configurer_site' => 'サイトの環境設定', |
|
| 293 | + 'icone_creer_nouvel_auteur' => '新規著者を作成する', |
|
| 294 | + 'icone_creer_rubrique' => '新規セクションを作成する', |
|
| 295 | + 'icone_creer_sous_rubrique' => 'サブセクションを作成する', |
|
| 296 | + 'icone_deconnecter' => 'ログアウト', |
|
| 297 | + 'icone_discussions' => '話題', |
|
| 298 | + 'icone_doc_rubrique' => 'セクション内のファイル', |
|
| 299 | + 'icone_ecrire_article' => '新規記事を書く', |
|
| 300 | + 'icone_edition_site' => '編集', |
|
| 301 | + 'icone_gestion_langues' => '言語管理', |
|
| 302 | + 'icone_informations_personnelles' => '個人情報', |
|
| 303 | + 'icone_interface_complet' => '完全なインターフェース', |
|
| 304 | + 'icone_interface_simple' => 'シンプルなインターフェース', |
|
| 305 | + 'icone_maintenance_site' => 'サイトの整備', |
|
| 306 | + 'icone_messagerie_personnelle' => '個人メッセージング', |
|
| 307 | + 'icone_repartition_debut' => '初めからの配分を表示する', |
|
| 308 | + 'icone_rubriques' => 'セクション', |
|
| 309 | + 'icone_sauver_site' => 'サイトのバックアップ', |
|
| 310 | + 'icone_site_entier' => 'サイトの全体', |
|
| 311 | + 'icone_sites_references' => '参照されたサイト', |
|
| 312 | + 'icone_statistiques' => 'サイトの統計', |
|
| 313 | + 'icone_suivi_activite' => 'サイトへの協力', |
|
| 314 | + 'icone_suivi_actualite' => 'サイトの進化', |
|
| 315 | + 'icone_suivi_pettions' => '請願書の管理', |
|
| 316 | + 'icone_suivi_revisions' => '記事修正の進化', |
|
| 317 | + 'icone_supprimer_document' => 'このドキュメントを削除', |
|
| 318 | + 'icone_supprimer_image' => 'この画像を削除する', |
|
| 319 | + 'icone_tous_articles' => '私のすべての記事', |
|
| 320 | + 'icone_tous_auteur' => 'すべての著者', |
|
| 321 | + 'icone_tous_visiteur' => 'すべての訪問者', |
|
| 322 | + 'icone_visiter_site' => '公開サイトを訪れる', |
|
| 323 | + 'icone_voir_en_ligne' => 'オンラインで見る', |
|
| 324 | + 'img_indisponible' => 'イメージは見つからない', |
|
| 325 | + 'impossible' => '不可能', |
|
| 326 | + 'info_a_suivre' => 'つづき', |
|
| 327 | + 'info_acces_interdit' => 'アクセス禁止', |
|
| 328 | + 'info_acces_refuse' => 'アクセスが拒否されました。', |
|
| 329 | + 'info_action' => 'アクション:@action@', |
|
| 330 | + 'info_administrer_rubriques' => 'このセクションとサブセクションを管理することができます。', |
|
| 331 | + 'info_adresse_non_indiquee' => 'テストをするためのアドレスを指定しませんでした!', |
|
| 332 | + 'info_aide' => 'ヘルプ:', |
|
| 333 | + 'info_ajouter_mot' => 'このキーワードを追加する', |
|
| 334 | + 'info_annonce' => '告知', |
|
| 335 | + 'info_annonces_generales' => '一般告知:', |
|
| 336 | + 'info_article_propose' => '提出済みの記事', |
|
| 337 | + 'info_article_publie' => '公開された記事', |
|
| 338 | + 'info_article_redaction' => '編集中の記事', |
|
| 339 | + 'info_article_refuse' => '拒否された記事', |
|
| 340 | + 'info_article_supprime' => '削除された記事', |
|
| 341 | + 'info_articles' => '記事', |
|
| 342 | + 'info_articles_a_valider' => '確認すべきの記事', |
|
| 343 | + 'info_articles_nb' => '記事@nb@件', |
|
| 344 | + 'info_articles_proposes' => '提出済みの記事', |
|
| 345 | + 'info_articles_un' => '記事1件', |
|
| 346 | + 'info_auteurs_nombre' => '著者:', |
|
| 347 | + 'info_authentification_ftp' => 'FTPによる認証', |
|
| 348 | + 'info_breves_2' => 'ニュース', |
|
| 349 | + 'info_breves_nb' => 'ニュース@nb@件', |
|
| 350 | + 'info_breves_un' => 'ニュース 1 件', |
|
| 351 | + 'info_connexion_refusee' => '接続が拒否されました。', |
|
| 352 | + 'info_contact_developpeur' => '開発者と連絡して下さい。', |
|
| 353 | + 'info_contenance' => '当サイトの内容:', |
|
| 354 | + 'info_contribution' => '掲示板の投稿', |
|
| 355 | + 'info_copyright' => '@spip@は、@lien_gpl@で配布されるフリーソフトです。', |
|
| 356 | + 'info_copyright_doc' => '詳細情報は<a href="@spipnet@">@spipnet_affiche@</a>をご覧ください。', |
|
| 357 | + 'info_copyright_gpl' => 'GPLライセンスのもとで', |
|
| 358 | + 'info_cours_edition' => '編集中の記事', # MODIF |
|
| 359 | + 'info_creer_repertoire' => 'ファイルかフォルダかかを作成してください:', |
|
| 360 | + 'info_creer_repertoire_2' => 'サブフォルダー<b>@repertoire@</b>内、そして', |
|
| 361 | + 'info_creer_vignette' => 'サムネイルの自動制作', |
|
| 362 | + 'info_creerdansrubrique_non_autorise' => 'このセクションでコンテンツを作成するために、アクセス権が足りません。', |
|
| 363 | + 'info_deplier' => '表示する', |
|
| 364 | + 'info_descriptif_nombre' => '記述:', |
|
| 365 | + 'info_description' => '記述:', |
|
| 366 | + 'info_description_2' => '記述:', |
|
| 367 | + 'info_dimension' => 'サイズ:', |
|
| 368 | + 'info_documents_nb' => 'ファイル@nb@件', |
|
| 369 | + 'info_documents_un' => 'ファイル 1 件', |
|
| 370 | + 'info_ecire_message_prive' => 'プライベートメッセージを書く', |
|
| 371 | + 'info_email_invalide' => 'メールアドレスは無効です。', |
|
| 372 | + 'info_en_cours_validation' => '確認すべきの私の記事', |
|
| 373 | + 'info_en_ligne' => 'オンライン中:', |
|
| 374 | + 'info_envoyer_message_prive' => 'この著者にプライベートメッセージを送る', |
|
| 375 | + 'info_erreur_requete' => 'クエリのエラー:', |
|
| 376 | + 'info_erreur_squelette2' => 'テンプレート<b>@fichier@</b> が見つからない', |
|
| 377 | + 'info_erreur_systeme' => 'システムエラー(エラー番号:@errsys@)', |
|
| 378 | + 'info_erreur_systeme2' => 'ハードドライブがいっぱいになったか、データベースが破損している可能性があります。<br/> |
|
| 379 | 379 | <span style="color:red;"><a href="@script@">データベースを修理する</a>か、プロバイダーに問い合わせてください。</span>', |
| 380 | - 'info_fini' => '作業済み!', |
|
| 381 | - 'info_format_image' => 'サムネイルの作成に使用できる画像フォーマット:@gd_formats@。', |
|
| 382 | - 'info_format_non_defini' => '未定義のフォーマット', |
|
| 383 | - 'info_grand_ecran' => '大きく表示する', |
|
| 384 | - 'info_image_aide' => 'ヘルプ', |
|
| 385 | - 'info_image_process_titre' => 'サムネイルの作り方', |
|
| 386 | - 'info_impossible_lire_page' => '<b>エラー!</b>プロキシ経由で<code><html>@test_proxy@</html></code>ページを読むことが出来ませんでした。', |
|
| 387 | - 'info_installation_systeme_publication' => '出版システムインストール…', |
|
| 388 | - 'info_installer_documents' => '@upload@フォルダーにあるすべてのファイルを自動的にインストール出来ます。', |
|
| 389 | - 'info_installer_ftp' => '管理者なら@upload@フォルダーに(FTPで)ファイルを置いておけば、後でここから直接そのファイルを選択できるようになります。', |
|
| 390 | - 'info_installer_images' => 'JPEG、GIF、PNGフォーマットの画像をインストール出来ます。', |
|
| 391 | - 'info_installer_images_dossier' => '@upload@フォルダにインストールしたファイルをここで選択することが出来ます。', |
|
| 392 | - 'info_interface_complete' => '完全なインターフェース', |
|
| 393 | - 'info_interface_simple' => 'シンプルなインターフェース', |
|
| 394 | - 'info_joindre_document_article' => 'この記事に添付が出来るファイルのタイプ:', |
|
| 395 | - 'info_joindre_document_rubrique' => 'このセクションに添付が出来るファイルのタイプ:', |
|
| 396 | - 'info_joindre_documents_article' => 'この記事に添付が出来るファイルのタイプ:', |
|
| 397 | - 'info_l_article' => 'その記事', |
|
| 398 | - 'info_la_breve' => 'そのニュース', |
|
| 399 | - 'info_la_rubrique' => 'そのセクション', |
|
| 400 | - 'info_langue_principale' => 'サイトの主な言語', |
|
| 401 | - 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ ピクセル', |
|
| 402 | - 'info_les_auteurs_1' => '@les_auteurs@で', |
|
| 403 | - 'info_logo_format_interdit' => '@formats@フォーマットのロゴのみ許可します。', |
|
| 404 | - 'info_logo_max_poids' => 'ロゴは、@maxi@より少ないべきです(このファイルは@actuel@)。', |
|
| 405 | - 'info_mail_fournisseur' => '[email protected]', |
|
| 406 | - 'info_message_2' => 'メッセージ', |
|
| 407 | - 'info_message_supprime' => 'メッセージは削除された', |
|
| 408 | - 'info_messages_nb' => 'メッセージ@nb@件', |
|
| 409 | - 'info_messages_un' => 'メッセージ1件', |
|
| 410 | - 'info_mise_en_ligne' => '公開された日付:', |
|
| 411 | - 'info_modification_parametres_securite' => 'セキュリティ設定の変更する', |
|
| 412 | - 'info_mois_courant' => '今月の間:', |
|
| 413 | - 'info_mot_cle_ajoute' => '次のキーワードが追加された', |
|
| 414 | - 'info_multi_herit' => 'デフォルト言語', |
|
| 415 | - 'info_multi_langues_soulignees' => '<u>下線が引かれている言語は</u> インターフェースが翻訳されています。その言語を選んだら、公開のサイトの多くの要素(日付、形式など)は自動的に翻訳されます。下線が引かれていない言語は、サイトのメイン言語で現れます。', |
|
| 416 | - 'info_multilinguisme' => '多言語', |
|
| 417 | - 'info_nom_non_utilisateurs_connectes' => 'お名前は接続しているユーザーのリストに現れない。', |
|
| 418 | - 'info_nom_utilisateurs_connectes' => 'お名前は接続しているユーザーのリストに現れる。', |
|
| 419 | - 'info_nombre_en_ligne' => '今オンライン:', |
|
| 420 | - 'info_non_resultat' => '「@cherche_mot@」に関する結果はありません。', |
|
| 421 | - 'info_non_utilisation_messagerie' => 'サイトの内部のメッセージ交換を使用していない。', |
|
| 422 | - 'info_nouveau_message' => 'メッセージが1通届いています', |
|
| 423 | - 'info_nouveaux_messages' => 'メッセージが@total_messages@通届いています。', |
|
| 424 | - 'info_numero_abbreviation' => '#', |
|
| 425 | - 'info_obligatoire' => 'この情報は必須です。', |
|
| 426 | - 'info_pense_bete' => 'メモ', |
|
| 427 | - 'info_petit_ecran' => '小さく表示', |
|
| 428 | - 'info_petition_close' => '請願終了', |
|
| 429 | - 'info_pixels' => 'ピクセル', |
|
| 430 | - 'info_plusieurs_mots_trouves' => '「@cherche_mot@」についていくつかのキーワードが見つかりました:', |
|
| 431 | - 'info_portfolio_automatique' => '自動写真集:', |
|
| 432 | - 'info_premier_resultat' => '[@total@件の合計より、結果の、最初の@debut_limit@件]', |
|
| 433 | - 'info_premier_resultat_sur' => '[@debut_limit@ 最初の結果、トータル @total@]', |
|
| 434 | - 'info_propose_1' => '[@nom_site_spip@]提出されました: @titre@', |
|
| 435 | - 'info_propose_2' => '提出された記事', |
|
| 436 | - 'info_propose_3' => '記事「@titre@」は公開のために提出されました。', |
|
| 437 | - 'info_propose_4' => '記事をよく調べて、意見を出してください。', |
|
| 438 | - 'info_propose_5' => '次のURLで、記事の付いた掲示板に移ります:', |
|
| 439 | - 'info_publie_01' => '@connect_nom@は、「@titre@」を確認しました。', |
|
| 440 | - 'info_publie_1' => '公開された[@nom_site_spip@]:「@titre@」です。', |
|
| 441 | - 'info_publie_2' => '公開された記事', |
|
| 442 | - 'info_rechercher' => 'サイト内検索', |
|
| 443 | - 'info_rechercher_02' => '検索:', |
|
| 444 | - 'info_remplacer_vignette' => 'デフォルトサムネイルをカスタムロゴに置き換える:', |
|
| 445 | - 'info_rubriques_nb' => 'セクション@nb@つ', |
|
| 446 | - 'info_rubriques_un' => 'セクション 1 つ', |
|
| 447 | - 'info_sans_titre_2' => '名称未設定', |
|
| 448 | - 'info_selectionner_fichier' => '@upload@フォルダのファイルを選択することが出来ます。', |
|
| 449 | - 'info_selectionner_fichier_2' => 'ファイルを選択する:', |
|
| 450 | - 'info_sites_nb' => 'サイト@nb@件', |
|
| 451 | - 'info_sites_un' => 'サイト1件', |
|
| 452 | - 'info_supprimer_vignette' => 'サムネイルを削除する', |
|
| 453 | - 'info_symbole_bleu' => '<b>青色</b>は、<b>メモ</b>、つまり個人的なメッセージを表します:', |
|
| 454 | - 'info_symbole_jaune' => '<b>黄色</b>は、<b>全著者向きの告知</b>を表します。つまり著者は皆読み、それに管理者は編集も出来ます。', |
|
| 455 | - 'info_symbole_vert' => '<b>緑色</b>は、サイトの<b>その他のユーザー</b>と交換されるメッセージを表します。', |
|
| 456 | - 'info_telecharger_nouveau_logo' => '新規ロゴをアップロードする:', |
|
| 457 | - 'info_telecharger_ordinateur' => '当コンピュータよりアップロードする:', |
|
| 458 | - 'info_tous_resultats_enregistres' => '[すべての結果は登録されます。]', |
|
| 459 | - 'info_tout_afficher' => 'すべてを表示する', |
|
| 460 | - 'info_travaux_texte' => 'このサイトは準備中なので、後ほど来てください。', |
|
| 461 | - 'info_travaux_titre' => '開発中', |
|
| 462 | - 'info_trop_resultat' => '「@cherche_mot@」に関する結果が多すぎて、 検索を改善して下さい。', |
|
| 463 | - 'info_utilisation_messagerie_interne' => '内部メッセージングを使っています。', |
|
| 464 | - 'info_valider_lien' => 'リンクを確認する', |
|
| 465 | - 'info_verifier_image' => '、画像が正しく転送されたことを確認して下さい。', |
|
| 466 | - 'info_vignette_defaut' => 'デフォルトサムネイル', |
|
| 467 | - 'info_vignette_personnalisee' => 'カスタマイズサムネイル', |
|
| 468 | - 'info_visite' => '訪問:', |
|
| 469 | - 'info_vos_rendez_vous' => '今後の約束', |
|
| 470 | - 'infos_vos_pense_bete' => 'メモ', |
|
| 380 | + 'info_fini' => '作業済み!', |
|
| 381 | + 'info_format_image' => 'サムネイルの作成に使用できる画像フォーマット:@gd_formats@。', |
|
| 382 | + 'info_format_non_defini' => '未定義のフォーマット', |
|
| 383 | + 'info_grand_ecran' => '大きく表示する', |
|
| 384 | + 'info_image_aide' => 'ヘルプ', |
|
| 385 | + 'info_image_process_titre' => 'サムネイルの作り方', |
|
| 386 | + 'info_impossible_lire_page' => '<b>エラー!</b>プロキシ経由で<code><html>@test_proxy@</html></code>ページを読むことが出来ませんでした。', |
|
| 387 | + 'info_installation_systeme_publication' => '出版システムインストール…', |
|
| 388 | + 'info_installer_documents' => '@upload@フォルダーにあるすべてのファイルを自動的にインストール出来ます。', |
|
| 389 | + 'info_installer_ftp' => '管理者なら@upload@フォルダーに(FTPで)ファイルを置いておけば、後でここから直接そのファイルを選択できるようになります。', |
|
| 390 | + 'info_installer_images' => 'JPEG、GIF、PNGフォーマットの画像をインストール出来ます。', |
|
| 391 | + 'info_installer_images_dossier' => '@upload@フォルダにインストールしたファイルをここで選択することが出来ます。', |
|
| 392 | + 'info_interface_complete' => '完全なインターフェース', |
|
| 393 | + 'info_interface_simple' => 'シンプルなインターフェース', |
|
| 394 | + 'info_joindre_document_article' => 'この記事に添付が出来るファイルのタイプ:', |
|
| 395 | + 'info_joindre_document_rubrique' => 'このセクションに添付が出来るファイルのタイプ:', |
|
| 396 | + 'info_joindre_documents_article' => 'この記事に添付が出来るファイルのタイプ:', |
|
| 397 | + 'info_l_article' => 'その記事', |
|
| 398 | + 'info_la_breve' => 'そのニュース', |
|
| 399 | + 'info_la_rubrique' => 'そのセクション', |
|
| 400 | + 'info_langue_principale' => 'サイトの主な言語', |
|
| 401 | + 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ ピクセル', |
|
| 402 | + 'info_les_auteurs_1' => '@les_auteurs@で', |
|
| 403 | + 'info_logo_format_interdit' => '@formats@フォーマットのロゴのみ許可します。', |
|
| 404 | + 'info_logo_max_poids' => 'ロゴは、@maxi@より少ないべきです(このファイルは@actuel@)。', |
|
| 405 | + 'info_mail_fournisseur' => '[email protected]', |
|
| 406 | + 'info_message_2' => 'メッセージ', |
|
| 407 | + 'info_message_supprime' => 'メッセージは削除された', |
|
| 408 | + 'info_messages_nb' => 'メッセージ@nb@件', |
|
| 409 | + 'info_messages_un' => 'メッセージ1件', |
|
| 410 | + 'info_mise_en_ligne' => '公開された日付:', |
|
| 411 | + 'info_modification_parametres_securite' => 'セキュリティ設定の変更する', |
|
| 412 | + 'info_mois_courant' => '今月の間:', |
|
| 413 | + 'info_mot_cle_ajoute' => '次のキーワードが追加された', |
|
| 414 | + 'info_multi_herit' => 'デフォルト言語', |
|
| 415 | + 'info_multi_langues_soulignees' => '<u>下線が引かれている言語は</u> インターフェースが翻訳されています。その言語を選んだら、公開のサイトの多くの要素(日付、形式など)は自動的に翻訳されます。下線が引かれていない言語は、サイトのメイン言語で現れます。', |
|
| 416 | + 'info_multilinguisme' => '多言語', |
|
| 417 | + 'info_nom_non_utilisateurs_connectes' => 'お名前は接続しているユーザーのリストに現れない。', |
|
| 418 | + 'info_nom_utilisateurs_connectes' => 'お名前は接続しているユーザーのリストに現れる。', |
|
| 419 | + 'info_nombre_en_ligne' => '今オンライン:', |
|
| 420 | + 'info_non_resultat' => '「@cherche_mot@」に関する結果はありません。', |
|
| 421 | + 'info_non_utilisation_messagerie' => 'サイトの内部のメッセージ交換を使用していない。', |
|
| 422 | + 'info_nouveau_message' => 'メッセージが1通届いています', |
|
| 423 | + 'info_nouveaux_messages' => 'メッセージが@total_messages@通届いています。', |
|
| 424 | + 'info_numero_abbreviation' => '#', |
|
| 425 | + 'info_obligatoire' => 'この情報は必須です。', |
|
| 426 | + 'info_pense_bete' => 'メモ', |
|
| 427 | + 'info_petit_ecran' => '小さく表示', |
|
| 428 | + 'info_petition_close' => '請願終了', |
|
| 429 | + 'info_pixels' => 'ピクセル', |
|
| 430 | + 'info_plusieurs_mots_trouves' => '「@cherche_mot@」についていくつかのキーワードが見つかりました:', |
|
| 431 | + 'info_portfolio_automatique' => '自動写真集:', |
|
| 432 | + 'info_premier_resultat' => '[@total@件の合計より、結果の、最初の@debut_limit@件]', |
|
| 433 | + 'info_premier_resultat_sur' => '[@debut_limit@ 最初の結果、トータル @total@]', |
|
| 434 | + 'info_propose_1' => '[@nom_site_spip@]提出されました: @titre@', |
|
| 435 | + 'info_propose_2' => '提出された記事', |
|
| 436 | + 'info_propose_3' => '記事「@titre@」は公開のために提出されました。', |
|
| 437 | + 'info_propose_4' => '記事をよく調べて、意見を出してください。', |
|
| 438 | + 'info_propose_5' => '次のURLで、記事の付いた掲示板に移ります:', |
|
| 439 | + 'info_publie_01' => '@connect_nom@は、「@titre@」を確認しました。', |
|
| 440 | + 'info_publie_1' => '公開された[@nom_site_spip@]:「@titre@」です。', |
|
| 441 | + 'info_publie_2' => '公開された記事', |
|
| 442 | + 'info_rechercher' => 'サイト内検索', |
|
| 443 | + 'info_rechercher_02' => '検索:', |
|
| 444 | + 'info_remplacer_vignette' => 'デフォルトサムネイルをカスタムロゴに置き換える:', |
|
| 445 | + 'info_rubriques_nb' => 'セクション@nb@つ', |
|
| 446 | + 'info_rubriques_un' => 'セクション 1 つ', |
|
| 447 | + 'info_sans_titre_2' => '名称未設定', |
|
| 448 | + 'info_selectionner_fichier' => '@upload@フォルダのファイルを選択することが出来ます。', |
|
| 449 | + 'info_selectionner_fichier_2' => 'ファイルを選択する:', |
|
| 450 | + 'info_sites_nb' => 'サイト@nb@件', |
|
| 451 | + 'info_sites_un' => 'サイト1件', |
|
| 452 | + 'info_supprimer_vignette' => 'サムネイルを削除する', |
|
| 453 | + 'info_symbole_bleu' => '<b>青色</b>は、<b>メモ</b>、つまり個人的なメッセージを表します:', |
|
| 454 | + 'info_symbole_jaune' => '<b>黄色</b>は、<b>全著者向きの告知</b>を表します。つまり著者は皆読み、それに管理者は編集も出来ます。', |
|
| 455 | + 'info_symbole_vert' => '<b>緑色</b>は、サイトの<b>その他のユーザー</b>と交換されるメッセージを表します。', |
|
| 456 | + 'info_telecharger_nouveau_logo' => '新規ロゴをアップロードする:', |
|
| 457 | + 'info_telecharger_ordinateur' => '当コンピュータよりアップロードする:', |
|
| 458 | + 'info_tous_resultats_enregistres' => '[すべての結果は登録されます。]', |
|
| 459 | + 'info_tout_afficher' => 'すべてを表示する', |
|
| 460 | + 'info_travaux_texte' => 'このサイトは準備中なので、後ほど来てください。', |
|
| 461 | + 'info_travaux_titre' => '開発中', |
|
| 462 | + 'info_trop_resultat' => '「@cherche_mot@」に関する結果が多すぎて、 検索を改善して下さい。', |
|
| 463 | + 'info_utilisation_messagerie_interne' => '内部メッセージングを使っています。', |
|
| 464 | + 'info_valider_lien' => 'リンクを確認する', |
|
| 465 | + 'info_verifier_image' => '、画像が正しく転送されたことを確認して下さい。', |
|
| 466 | + 'info_vignette_defaut' => 'デフォルトサムネイル', |
|
| 467 | + 'info_vignette_personnalisee' => 'カスタマイズサムネイル', |
|
| 468 | + 'info_visite' => '訪問:', |
|
| 469 | + 'info_vos_rendez_vous' => '今後の約束', |
|
| 470 | + 'infos_vos_pense_bete' => 'メモ', |
|
| 471 | 471 | |
| 472 | - // L |
|
| 473 | - 'label_ajout_id_rapide' => 'クイック追加', |
|
| 474 | - 'label_poids_fichier' => 'サイズ', |
|
| 475 | - 'lien_afficher_icones_seuls' => 'アイコンのみ表示する', |
|
| 476 | - 'lien_afficher_texte_icones' => 'アイコンとテキスト表示する', |
|
| 477 | - 'lien_afficher_texte_seul' => 'テキストのみ表示する', |
|
| 478 | - 'lien_liberer' => 'リリーズする', |
|
| 479 | - 'lien_liberer_tous' => '全てリリーズする', |
|
| 480 | - 'lien_nouvea_pense_bete' => '新規メモ', |
|
| 481 | - 'lien_nouveau_message' => '新規メッセージ', |
|
| 482 | - 'lien_nouvelle_annonce' => '新規アナウンス', |
|
| 483 | - 'lien_petitions' => '請願書', |
|
| 484 | - 'lien_popularite' => '人気度:@popularite@%', |
|
| 485 | - 'lien_racine_site' => 'サイトのルート', |
|
| 486 | - 'lien_reessayer' => 'やり直す', |
|
| 487 | - 'lien_repondre_message' => 'このメッセージに返信する', |
|
| 488 | - 'lien_supprimer' => '削除する', |
|
| 489 | - 'lien_tout_afficher' => 'すべて表示', |
|
| 490 | - 'lien_visite_site' => 'このサイトを訪問する', |
|
| 491 | - 'lien_visites' => '@visites@訪問', |
|
| 492 | - 'lien_voir_auteur' => 'この著者のページを訪れる', |
|
| 493 | - 'ligne' => '一行', |
|
| 494 | - 'login' => 'ログイン', |
|
| 495 | - 'login_acces_prive' => '管理エリアへアクセスする', |
|
| 496 | - 'login_autre_identifiant' => '他のIDで接続する', |
|
| 497 | - 'login_cookie_accepte' => '(なるべくこのサイトのため)クッキーを許可するように、ブラウザを設定してください。', |
|
| 498 | - 'login_cookie_oblige' => 'このサイト上で安全にログインするには、クッキーを受け入れる必要があります。', |
|
| 499 | - 'login_deconnexion_ok' => 'ログアウト済み', |
|
| 500 | - 'login_erreur_pass' => 'パスワードエラー', |
|
| 501 | - 'login_espace_prive' => '管理エリア', |
|
| 502 | - 'login_identifiant_inconnu' => 'ID、「@login@」は不明です。', |
|
| 503 | - 'login_login' => 'ログインID:', |
|
| 504 | - 'login_login2' => 'ログインID(このサイトに接続するためのID):', |
|
| 505 | - 'login_login_pass_incorrect' => '(ログインID、または、パスワードは一致しません)', |
|
| 506 | - 'login_motpasseoublie' => 'パスワードを忘れましたか?', |
|
| 507 | - 'login_non_securise' => '警告:このフォームは安全ではありません。 パスワードをネット上で傍受される恐れがないように、ブラウザでJavascriptを有効にしてください。', |
|
| 508 | - 'login_nouvelle_tentative' => '新しい試み', |
|
| 509 | - 'login_par_ici' => '登録済みなので… どうぞ…', |
|
| 510 | - 'login_pass2' => 'パスワード:', |
|
| 511 | - 'login_preferez_refuser' => '<b>クッキーを拒絶したければ</b>、(それほど安全でない)別の接続方法を使うことが出来ます:', |
|
| 512 | - 'login_recharger' => 'このページをリフレッシュする', |
|
| 513 | - 'login_rester_identifie' => 'しばらく接続したままにする', # MODIF |
|
| 514 | - 'login_retour_public' => '公開サイトに戻る', |
|
| 515 | - 'login_retour_site' => 'パブリックなサイトへ戻る', |
|
| 516 | - 'login_retoursitepublic' => '公開サイトに戻る', |
|
| 517 | - 'login_sans_cookie' => 'クッキーを拒絶して、ログインする。', |
|
| 518 | - 'login_securise' => '安全ログイン', |
|
| 519 | - 'login_sinscrire' => '申し込む', |
|
| 520 | - 'login_test_navigateur' => 'ブラウザテスト、接続をやり直す', |
|
| 521 | - 'login_verifiez_navigateur' => '(ところが、ブラウザがパスワードを登録しなかったことを確かめて下さい。)', |
|
| 472 | + // L |
|
| 473 | + 'label_ajout_id_rapide' => 'クイック追加', |
|
| 474 | + 'label_poids_fichier' => 'サイズ', |
|
| 475 | + 'lien_afficher_icones_seuls' => 'アイコンのみ表示する', |
|
| 476 | + 'lien_afficher_texte_icones' => 'アイコンとテキスト表示する', |
|
| 477 | + 'lien_afficher_texte_seul' => 'テキストのみ表示する', |
|
| 478 | + 'lien_liberer' => 'リリーズする', |
|
| 479 | + 'lien_liberer_tous' => '全てリリーズする', |
|
| 480 | + 'lien_nouvea_pense_bete' => '新規メモ', |
|
| 481 | + 'lien_nouveau_message' => '新規メッセージ', |
|
| 482 | + 'lien_nouvelle_annonce' => '新規アナウンス', |
|
| 483 | + 'lien_petitions' => '請願書', |
|
| 484 | + 'lien_popularite' => '人気度:@popularite@%', |
|
| 485 | + 'lien_racine_site' => 'サイトのルート', |
|
| 486 | + 'lien_reessayer' => 'やり直す', |
|
| 487 | + 'lien_repondre_message' => 'このメッセージに返信する', |
|
| 488 | + 'lien_supprimer' => '削除する', |
|
| 489 | + 'lien_tout_afficher' => 'すべて表示', |
|
| 490 | + 'lien_visite_site' => 'このサイトを訪問する', |
|
| 491 | + 'lien_visites' => '@visites@訪問', |
|
| 492 | + 'lien_voir_auteur' => 'この著者のページを訪れる', |
|
| 493 | + 'ligne' => '一行', |
|
| 494 | + 'login' => 'ログイン', |
|
| 495 | + 'login_acces_prive' => '管理エリアへアクセスする', |
|
| 496 | + 'login_autre_identifiant' => '他のIDで接続する', |
|
| 497 | + 'login_cookie_accepte' => '(なるべくこのサイトのため)クッキーを許可するように、ブラウザを設定してください。', |
|
| 498 | + 'login_cookie_oblige' => 'このサイト上で安全にログインするには、クッキーを受け入れる必要があります。', |
|
| 499 | + 'login_deconnexion_ok' => 'ログアウト済み', |
|
| 500 | + 'login_erreur_pass' => 'パスワードエラー', |
|
| 501 | + 'login_espace_prive' => '管理エリア', |
|
| 502 | + 'login_identifiant_inconnu' => 'ID、「@login@」は不明です。', |
|
| 503 | + 'login_login' => 'ログインID:', |
|
| 504 | + 'login_login2' => 'ログインID(このサイトに接続するためのID):', |
|
| 505 | + 'login_login_pass_incorrect' => '(ログインID、または、パスワードは一致しません)', |
|
| 506 | + 'login_motpasseoublie' => 'パスワードを忘れましたか?', |
|
| 507 | + 'login_non_securise' => '警告:このフォームは安全ではありません。 パスワードをネット上で傍受される恐れがないように、ブラウザでJavascriptを有効にしてください。', |
|
| 508 | + 'login_nouvelle_tentative' => '新しい試み', |
|
| 509 | + 'login_par_ici' => '登録済みなので… どうぞ…', |
|
| 510 | + 'login_pass2' => 'パスワード:', |
|
| 511 | + 'login_preferez_refuser' => '<b>クッキーを拒絶したければ</b>、(それほど安全でない)別の接続方法を使うことが出来ます:', |
|
| 512 | + 'login_recharger' => 'このページをリフレッシュする', |
|
| 513 | + 'login_rester_identifie' => 'しばらく接続したままにする', # MODIF |
|
| 514 | + 'login_retour_public' => '公開サイトに戻る', |
|
| 515 | + 'login_retour_site' => 'パブリックなサイトへ戻る', |
|
| 516 | + 'login_retoursitepublic' => '公開サイトに戻る', |
|
| 517 | + 'login_sans_cookie' => 'クッキーを拒絶して、ログインする。', |
|
| 518 | + 'login_securise' => '安全ログイン', |
|
| 519 | + 'login_sinscrire' => '申し込む', |
|
| 520 | + 'login_test_navigateur' => 'ブラウザテスト、接続をやり直す', |
|
| 521 | + 'login_verifiez_navigateur' => '(ところが、ブラウザがパスワードを登録しなかったことを確かめて下さい。)', |
|
| 522 | 522 | |
| 523 | - // M |
|
| 524 | - 'masquer_colonne' => 'このコラムを非表示にする', |
|
| 525 | - 'masquer_trad' => '翻訳を非表示にする', |
|
| 526 | - 'message_nouveaux_identifiants_echec' => '新規IDの制作失敗', |
|
| 527 | - 'message_nouveaux_identifiants_echec_envoi' => '新しいログインID送信が出来ませんでした。', |
|
| 528 | - 'message_nouveaux_identifiants_ok' => '新しいログインIDは@email@に送信されました。', |
|
| 529 | - 'module_fichiers_langues' => '言語ファイル', |
|
| 523 | + // M |
|
| 524 | + 'masquer_colonne' => 'このコラムを非表示にする', |
|
| 525 | + 'masquer_trad' => '翻訳を非表示にする', |
|
| 526 | + 'message_nouveaux_identifiants_echec' => '新規IDの制作失敗', |
|
| 527 | + 'message_nouveaux_identifiants_echec_envoi' => '新しいログインID送信が出来ませんでした。', |
|
| 528 | + 'message_nouveaux_identifiants_ok' => '新しいログインIDは@email@に送信されました。', |
|
| 529 | + 'module_fichiers_langues' => '言語ファイル', |
|
| 530 | 530 | |
| 531 | - // N |
|
| 532 | - 'navigateur_pas_redirige' => 'ブラウザがリダイレクトされない場合、ここをクリックして続行してください。', |
|
| 533 | - 'numero' => '番号', |
|
| 531 | + // N |
|
| 532 | + 'navigateur_pas_redirige' => 'ブラウザがリダイレクトされない場合、ここをクリックして続行してください。', |
|
| 533 | + 'numero' => '番号', |
|
| 534 | 534 | |
| 535 | - // O |
|
| 536 | - 'occurence' => '生起', |
|
| 537 | - 'onglet_affacer_base' => 'データベースを削除する', |
|
| 538 | - 'onglet_auteur' => '著者', |
|
| 539 | - 'onglet_contenu_site' => 'そのサイトの内容', |
|
| 540 | - 'onglet_evolution_visite_mod' => '訪問率', |
|
| 541 | - 'onglet_fonctions_avances' => '高度な機能', |
|
| 542 | - 'onglet_informations_personnelles' => '個人情報', |
|
| 543 | - 'onglet_interactivite' => '対話性', |
|
| 544 | - 'onglet_messagerie' => 'メッセージング', |
|
| 545 | - 'onglet_repartition_rubrique' => 'セクションによる配分', |
|
| 546 | - 'onglet_save_restaur_base' => 'データベースバックアップ/復元する', |
|
| 547 | - 'onglet_vider_cache' => 'キャッシュを空白にする', |
|
| 535 | + // O |
|
| 536 | + 'occurence' => '生起', |
|
| 537 | + 'onglet_affacer_base' => 'データベースを削除する', |
|
| 538 | + 'onglet_auteur' => '著者', |
|
| 539 | + 'onglet_contenu_site' => 'そのサイトの内容', |
|
| 540 | + 'onglet_evolution_visite_mod' => '訪問率', |
|
| 541 | + 'onglet_fonctions_avances' => '高度な機能', |
|
| 542 | + 'onglet_informations_personnelles' => '個人情報', |
|
| 543 | + 'onglet_interactivite' => '対話性', |
|
| 544 | + 'onglet_messagerie' => 'メッセージング', |
|
| 545 | + 'onglet_repartition_rubrique' => 'セクションによる配分', |
|
| 546 | + 'onglet_save_restaur_base' => 'データベースバックアップ/復元する', |
|
| 547 | + 'onglet_vider_cache' => 'キャッシュを空白にする', |
|
| 548 | 548 | |
| 549 | - // P |
|
| 550 | - 'pass_choix_pass' => '新しいパスワードを決めてください:', |
|
| 551 | - 'pass_erreur' => 'エラー', |
|
| 552 | - 'pass_erreur_acces_refuse' => '<b>エラー:</b> もはや、このサイトへのアクセスが拒否されました。', |
|
| 553 | - 'pass_erreur_code_inconnu' => '<b>エラー:</b> このコードは、このサイトにアクセスするどの訪問者にも対応していません。', |
|
| 554 | - 'pass_erreur_non_enregistre' => '<b>エラー:</b> アドレス <tt>@email_oubli@</tt> は登録されていません。', |
|
| 555 | - 'pass_erreur_non_valide' => '<b>エラー:</b> そのアドレス<tt>@email_oubli@</tt> は有効ではありません。', |
|
| 556 | - 'pass_erreur_probleme_technique' => '<b>エラー:</b> このメールは、技術的な問題によって送信が出来ませんでした。', |
|
| 557 | - 'pass_espace_prive_bla' => '管理エリアは、登録済みの訪問者に開かれています。登録されたら、記事の閲覧、記事の投稿、フォーラムへの参加が可能になります。', |
|
| 558 | - 'pass_forum_bla' => '登録された訪問者用のフォーラムに介入させてもらうように願いました。', |
|
| 559 | - 'pass_indiquez_cidessous' => '登録されたメールアドレスを下に入力してください。アクセスが再び出来るように、取り扱い説明をメールで送信します。', |
|
| 560 | - 'pass_mail_passcookie' => '(自動メッセージ)サイト@nom_site_spip@(@adresse_site@)へのアクセスを取り戻すように、次のアドレスに行ってください:@sendcookie@。それで新しいパスワードを入力すると再接続ができます。', |
|
| 561 | - 'pass_mot_oublie' => 'パスワードを忘れました。', |
|
| 562 | - 'pass_nouveau_enregistre' => '新しいパスワードが登録されました。', |
|
| 563 | - 'pass_nouveau_pass' => '新規パスワード', |
|
| 564 | - 'pass_ok' => 'オケー', |
|
| 565 | - 'pass_oubli_mot' => 'パスワードは忘れています。', |
|
| 566 | - 'pass_procedure_changer' => 'パスワードを変更するには、アカウントを作成した時のメールアドレスを入力してください。', |
|
| 567 | - 'pass_quitter_fenetre' => 'このウィンドウを閉じる', |
|
| 568 | - 'pass_rappel_login' => 'リマインダー: あなたのID (ログインID) は「@login@」です。', |
|
| 569 | - 'pass_recevoir_mail' => 'パスワードをリセットするために、リンクをメールアドレスに送信されました。', |
|
| 570 | - 'pass_retour_public' => '公開サイトへ戻る', |
|
| 571 | - 'pass_rien_a_faire_ici' => '居るべきではありません。', |
|
| 572 | - 'pass_vousinscrire' => 'サイトに登録する', |
|
| 573 | - 'precedent' => '前', |
|
| 574 | - 'previsualisation' => 'プレビュー', |
|
| 575 | - 'previsualiser' => 'プレビューを表示する', |
|
| 549 | + // P |
|
| 550 | + 'pass_choix_pass' => '新しいパスワードを決めてください:', |
|
| 551 | + 'pass_erreur' => 'エラー', |
|
| 552 | + 'pass_erreur_acces_refuse' => '<b>エラー:</b> もはや、このサイトへのアクセスが拒否されました。', |
|
| 553 | + 'pass_erreur_code_inconnu' => '<b>エラー:</b> このコードは、このサイトにアクセスするどの訪問者にも対応していません。', |
|
| 554 | + 'pass_erreur_non_enregistre' => '<b>エラー:</b> アドレス <tt>@email_oubli@</tt> は登録されていません。', |
|
| 555 | + 'pass_erreur_non_valide' => '<b>エラー:</b> そのアドレス<tt>@email_oubli@</tt> は有効ではありません。', |
|
| 556 | + 'pass_erreur_probleme_technique' => '<b>エラー:</b> このメールは、技術的な問題によって送信が出来ませんでした。', |
|
| 557 | + 'pass_espace_prive_bla' => '管理エリアは、登録済みの訪問者に開かれています。登録されたら、記事の閲覧、記事の投稿、フォーラムへの参加が可能になります。', |
|
| 558 | + 'pass_forum_bla' => '登録された訪問者用のフォーラムに介入させてもらうように願いました。', |
|
| 559 | + 'pass_indiquez_cidessous' => '登録されたメールアドレスを下に入力してください。アクセスが再び出来るように、取り扱い説明をメールで送信します。', |
|
| 560 | + 'pass_mail_passcookie' => '(自動メッセージ)サイト@nom_site_spip@(@adresse_site@)へのアクセスを取り戻すように、次のアドレスに行ってください:@sendcookie@。それで新しいパスワードを入力すると再接続ができます。', |
|
| 561 | + 'pass_mot_oublie' => 'パスワードを忘れました。', |
|
| 562 | + 'pass_nouveau_enregistre' => '新しいパスワードが登録されました。', |
|
| 563 | + 'pass_nouveau_pass' => '新規パスワード', |
|
| 564 | + 'pass_ok' => 'オケー', |
|
| 565 | + 'pass_oubli_mot' => 'パスワードは忘れています。', |
|
| 566 | + 'pass_procedure_changer' => 'パスワードを変更するには、アカウントを作成した時のメールアドレスを入力してください。', |
|
| 567 | + 'pass_quitter_fenetre' => 'このウィンドウを閉じる', |
|
| 568 | + 'pass_rappel_login' => 'リマインダー: あなたのID (ログインID) は「@login@」です。', |
|
| 569 | + 'pass_recevoir_mail' => 'パスワードをリセットするために、リンクをメールアドレスに送信されました。', |
|
| 570 | + 'pass_retour_public' => '公開サイトへ戻る', |
|
| 571 | + 'pass_rien_a_faire_ici' => '居るべきではありません。', |
|
| 572 | + 'pass_vousinscrire' => 'サイトに登録する', |
|
| 573 | + 'precedent' => '前', |
|
| 574 | + 'previsualisation' => 'プレビュー', |
|
| 575 | + 'previsualiser' => 'プレビューを表示する', |
|
| 576 | 576 | |
| 577 | - // R |
|
| 578 | - 'retour' => '戻る', |
|
| 577 | + // R |
|
| 578 | + 'retour' => '戻る', |
|
| 579 | 579 | |
| 580 | - // S |
|
| 581 | - 'spip_conforme_dtd' => 'SPIPはこの文書がDOCTYPEに準拠していると認めます:', |
|
| 582 | - 'squelette' => 'テンプレート', |
|
| 583 | - 'squelette_inclus_ligne' => 'テンプレート、ラインを含む', |
|
| 584 | - 'squelette_ligne' => 'テンプレート、ライン', |
|
| 585 | - 'stats_visites_et_popularite' => '訪問数:@visites@; 人気率:@popularite@', |
|
| 586 | - 'suivant' => '次へ', |
|
| 580 | + // S |
|
| 581 | + 'spip_conforme_dtd' => 'SPIPはこの文書がDOCTYPEに準拠していると認めます:', |
|
| 582 | + 'squelette' => 'テンプレート', |
|
| 583 | + 'squelette_inclus_ligne' => 'テンプレート、ラインを含む', |
|
| 584 | + 'squelette_ligne' => 'テンプレート、ライン', |
|
| 585 | + 'stats_visites_et_popularite' => '訪問数:@visites@; 人気率:@popularite@', |
|
| 586 | + 'suivant' => '次へ', |
|
| 587 | 587 | |
| 588 | - // T |
|
| 589 | - 'taille_go' => '@taille@ Gb', |
|
| 590 | - 'taille_ko' => '@taille@ kb', |
|
| 591 | - 'taille_mo' => '@taille@ Mb', |
|
| 592 | - 'taille_octets' => '@taille@ バイト', |
|
| 593 | - 'texte_actualite_site_1' => 'インターフェースに精通した時、「', |
|
| 594 | - 'texte_actualite_site_2' => '完全なインターフェース', |
|
| 595 | - 'texte_actualite_site_3' => '」さらに多くの特徴を利用可能にするようにクリックしてください。', |
|
| 596 | - 'texte_creation_automatique_vignette' => 'プレビューサムネイルの自動制作が有効になっています。このフォームを通して画像のフォーマット@gd_formats@であれば、@size_preview@pixelsの最大サイズのサムネイルが添付されます。', |
|
| 597 | - 'texte_documents_associes' => '次のファイルは記事に関連付けられていますが、挿入されていません。 公開サイトのレイアウトによって、添付ドキュメントとして表示されることもあります。', |
|
| 598 | - 'texte_erreur_mise_niveau_base' => 'アップグレード中のデータベースエラー。画像 <b>@fichier@</b> をパスすることが出来なかった(記事@id_article@)。注意を払ってこの参照を残してください。また記事に画像が現れることを確認して下さい。', |
|
| 599 | - 'texte_erreur_visiteur' => '権利のないIDを使用して管理エリアにアクセスしようとしました。', |
|
| 600 | - 'texte_inc_auth_1' => 'ID<b>@auth_login@</b>でログインしていますが、このIDはデータベースにはもはや存在していません。', |
|
| 601 | - 'texte_inc_auth_2' => 'ブラウザを再起動した後、', |
|
| 602 | - 'texte_inc_auth_3' => 'もう一度接続をしてください。', |
|
| 603 | - 'texte_inc_config' => 'このページの変更は、サイトの作動に大きな影響を与えます。 SPIPの操作に慣れるまで設定を変更しないことをお勧めします。<br/>基本的には、これらのページの設定変更を管理者に任せておくことを強くお勧めします。', |
|
| 604 | - 'texte_inc_meta_1' => 'ファイル<code>@file@</ code>の書き込みながら、エラーが発生しました。', |
|
| 605 | - 'texte_inc_meta_2' => 'サイト管理者として、', |
|
| 606 | - 'texte_inc_meta_3' => '<code>@directory@</ code>フォルダの書き込み権を確認してください。', |
|
| 607 | - 'texte_statut_en_cours_redaction' => '編集中', |
|
| 608 | - 'texte_statut_poubelle' => 'ゴミ箱の中', |
|
| 609 | - 'texte_statut_propose_evaluation' => '確認のため提出する', |
|
| 610 | - 'texte_statut_publie' => 'オンラインに公開する', |
|
| 611 | - 'texte_statut_refuse' => '拒否する', |
|
| 612 | - 'titre_ajouter_mot_cle' => 'キーワードを追加する:', |
|
| 613 | - 'titre_cadre_raccourcis' => 'ショートカット:', |
|
| 614 | - 'titre_changer_couleur_interface' => 'インターフェースの色を変える', |
|
| 615 | - 'titre_image_admin_article' => 'この記事を管理することになりました。', |
|
| 616 | - 'titre_image_administrateur' => '管理者', |
|
| 617 | - 'titre_image_aide' => 'この項目に関するのヘルプ', |
|
| 618 | - 'titre_image_auteur_supprime' => '著者は削除された', |
|
| 619 | - 'titre_image_redacteur' => 'アクセス無しの編集者', |
|
| 620 | - 'titre_image_redacteur_02' => '編集者', |
|
| 621 | - 'titre_image_selecteur' => 'リストを表示する', |
|
| 622 | - 'titre_image_visiteur' => '訪問者', |
|
| 623 | - 'titre_joindre_document' => 'ファイルを添付する', |
|
| 624 | - 'titre_mots_cles' => 'キーワード', |
|
| 625 | - 'titre_probleme_technique' => '警告:技術的なエラーが発生して(SQLサーバー)、サイトのこの部分へのアクセスが出来ません。 ご理解いただき、ありがとうございます。', |
|
| 626 | - 'titre_publier_document' => 'このセクションにファイルを公開する', |
|
| 627 | - 'titre_signatures_attente' => '署名確認中', |
|
| 628 | - 'titre_signatures_confirmees' => '署名は確認された', |
|
| 629 | - 'titre_statistiques' => 'サイトの統計', |
|
| 630 | - 'titre_titre_document' => 'ファイルの名称:', |
|
| 631 | - 'todo' => 'するべき事', |
|
| 632 | - 'trad_definir_reference' => '翻訳のために参考記事「@titre@」を選んでください。', |
|
| 633 | - 'trad_reference' => '(参考記事)', |
|
| 588 | + // T |
|
| 589 | + 'taille_go' => '@taille@ Gb', |
|
| 590 | + 'taille_ko' => '@taille@ kb', |
|
| 591 | + 'taille_mo' => '@taille@ Mb', |
|
| 592 | + 'taille_octets' => '@taille@ バイト', |
|
| 593 | + 'texte_actualite_site_1' => 'インターフェースに精通した時、「', |
|
| 594 | + 'texte_actualite_site_2' => '完全なインターフェース', |
|
| 595 | + 'texte_actualite_site_3' => '」さらに多くの特徴を利用可能にするようにクリックしてください。', |
|
| 596 | + 'texte_creation_automatique_vignette' => 'プレビューサムネイルの自動制作が有効になっています。このフォームを通して画像のフォーマット@gd_formats@であれば、@size_preview@pixelsの最大サイズのサムネイルが添付されます。', |
|
| 597 | + 'texte_documents_associes' => '次のファイルは記事に関連付けられていますが、挿入されていません。 公開サイトのレイアウトによって、添付ドキュメントとして表示されることもあります。', |
|
| 598 | + 'texte_erreur_mise_niveau_base' => 'アップグレード中のデータベースエラー。画像 <b>@fichier@</b> をパスすることが出来なかった(記事@id_article@)。注意を払ってこの参照を残してください。また記事に画像が現れることを確認して下さい。', |
|
| 599 | + 'texte_erreur_visiteur' => '権利のないIDを使用して管理エリアにアクセスしようとしました。', |
|
| 600 | + 'texte_inc_auth_1' => 'ID<b>@auth_login@</b>でログインしていますが、このIDはデータベースにはもはや存在していません。', |
|
| 601 | + 'texte_inc_auth_2' => 'ブラウザを再起動した後、', |
|
| 602 | + 'texte_inc_auth_3' => 'もう一度接続をしてください。', |
|
| 603 | + 'texte_inc_config' => 'このページの変更は、サイトの作動に大きな影響を与えます。 SPIPの操作に慣れるまで設定を変更しないことをお勧めします。<br/>基本的には、これらのページの設定変更を管理者に任せておくことを強くお勧めします。', |
|
| 604 | + 'texte_inc_meta_1' => 'ファイル<code>@file@</ code>の書き込みながら、エラーが発生しました。', |
|
| 605 | + 'texte_inc_meta_2' => 'サイト管理者として、', |
|
| 606 | + 'texte_inc_meta_3' => '<code>@directory@</ code>フォルダの書き込み権を確認してください。', |
|
| 607 | + 'texte_statut_en_cours_redaction' => '編集中', |
|
| 608 | + 'texte_statut_poubelle' => 'ゴミ箱の中', |
|
| 609 | + 'texte_statut_propose_evaluation' => '確認のため提出する', |
|
| 610 | + 'texte_statut_publie' => 'オンラインに公開する', |
|
| 611 | + 'texte_statut_refuse' => '拒否する', |
|
| 612 | + 'titre_ajouter_mot_cle' => 'キーワードを追加する:', |
|
| 613 | + 'titre_cadre_raccourcis' => 'ショートカット:', |
|
| 614 | + 'titre_changer_couleur_interface' => 'インターフェースの色を変える', |
|
| 615 | + 'titre_image_admin_article' => 'この記事を管理することになりました。', |
|
| 616 | + 'titre_image_administrateur' => '管理者', |
|
| 617 | + 'titre_image_aide' => 'この項目に関するのヘルプ', |
|
| 618 | + 'titre_image_auteur_supprime' => '著者は削除された', |
|
| 619 | + 'titre_image_redacteur' => 'アクセス無しの編集者', |
|
| 620 | + 'titre_image_redacteur_02' => '編集者', |
|
| 621 | + 'titre_image_selecteur' => 'リストを表示する', |
|
| 622 | + 'titre_image_visiteur' => '訪問者', |
|
| 623 | + 'titre_joindre_document' => 'ファイルを添付する', |
|
| 624 | + 'titre_mots_cles' => 'キーワード', |
|
| 625 | + 'titre_probleme_technique' => '警告:技術的なエラーが発生して(SQLサーバー)、サイトのこの部分へのアクセスが出来ません。 ご理解いただき、ありがとうございます。', |
|
| 626 | + 'titre_publier_document' => 'このセクションにファイルを公開する', |
|
| 627 | + 'titre_signatures_attente' => '署名確認中', |
|
| 628 | + 'titre_signatures_confirmees' => '署名は確認された', |
|
| 629 | + 'titre_statistiques' => 'サイトの統計', |
|
| 630 | + 'titre_titre_document' => 'ファイルの名称:', |
|
| 631 | + 'todo' => 'するべき事', |
|
| 632 | + 'trad_definir_reference' => '翻訳のために参考記事「@titre@」を選んでください。', |
|
| 633 | + 'trad_reference' => '(参考記事)', |
|
| 634 | 634 | |
| 635 | - // U |
|
| 636 | - 'upload_limit' => 'このファイルのサイズは大きすぎます。 <b>アップロード</b>に許可される最大サイズは@max@です。', |
|
| 635 | + // U |
|
| 636 | + 'upload_limit' => 'このファイルのサイズは大きすぎます。 <b>アップロード</b>に許可される最大サイズは@max@です。', |
|
| 637 | 637 | |
| 638 | - // Z |
|
| 639 | - 'zbug_balise_b_aval' => ': Bタグはループ内で遅すぎる', |
|
| 640 | - 'zbug_balise_inexistante' => '@from@エラー:タグ#@balise@は存在していません。', |
|
| 641 | - 'zbug_balise_sans_argument' => '@balise@タグのパラメーターが足りません。', |
|
| 642 | - 'zbug_boucle' => 'ループ', |
|
| 643 | - 'zbug_boucle_recursive_undef' => '@nom@:未定義な回帰的なループ', |
|
| 644 | - 'zbug_calcul' => '制作', |
|
| 645 | - 'zbug_champ_hors_boucle' => 'ループ外の@champ@フィールド', |
|
| 646 | - 'zbug_champ_hors_motif' => 'フィルドは @champ@ 外部の文脈 @motif@', |
|
| 647 | - 'zbug_code' => 'コード', |
|
| 648 | - 'zbug_critere_inconnu' => '未知の基準@critere@', |
|
| 649 | - 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} on a table without atomic primary key', |
|
| 650 | - 'zbug_distant_interdit' => '外部のデータは禁止', |
|
| 651 | - 'zbug_doublon_table_sans_cle_primaire' => 'Duplicate entries on a table which does not have a simple primary key', |
|
| 652 | - 'zbug_doublon_table_sans_index' => 'Duplicate entries on a table without an index', |
|
| 653 | - 'zbug_erreur_boucle_double' => 'ループ@id@:二重定義', |
|
| 654 | - 'zbug_erreur_boucle_fermant' => '歪んでいる@id@: 欠けている終了タグ', |
|
| 655 | - 'zbug_erreur_boucle_syntaxe' => 'ループ@id@に構文エラー(BOUCLE)', |
|
| 656 | - 'zbug_erreur_compilation' => 'コンパイルエラー', |
|
| 657 | - 'zbug_erreur_execution_page' => 'ページの制作失敗', |
|
| 658 | - 'zbug_erreur_filtre' => 'エラー:未定義のフィルター「<b>@filtre@</b>」', |
|
| 659 | - 'zbug_erreur_meme_parent' => '条件{meme_parent}はループ(FORUMS)または(RUBRIQUES)だけに適用されます。', |
|
| 660 | - 'zbug_erreur_squelette' => 'テンプレート内にエラーがあります。', |
|
| 661 | - 'zbug_hors_compilation' => 'コンパイルされていない', |
|
| 662 | - 'zbug_info_erreur_squelette' => 'サイトのエラー', |
|
| 663 | - 'zbug_inversion_ordre_inexistant' => '実在しない順番の逆転', |
|
| 664 | - 'zbug_pagination_sans_critere' => '基準{pagination}をもたない#PAGINATION。または再帰的ループで使用される基準。', |
|
| 665 | - 'zbug_parametres_inclus_incorrects' => 'インクルードパラメータエラー:@param@', |
|
| 666 | - 'zbug_profile' => '制作時間:@time@', |
|
| 667 | - 'zbug_resultat' => '結果', |
|
| 668 | - 'zbug_serveur_indefini' => '未定義のSQLサーバー', |
|
| 669 | - 'zbug_statistiques' => '期間にソートされたSQLクエリ統計', |
|
| 670 | - 'zbug_table_inconnue' => 'SQLテーブル「@table@」は見つからない', |
|
| 671 | - 'zxml_connus_attributs' => '既知の属性', |
|
| 672 | - 'zxml_de' => 'より', |
|
| 673 | - 'zxml_inconnu_attribut' => '無知の属性', |
|
| 674 | - 'zxml_inconnu_balise' => '無知のタグ', |
|
| 675 | - 'zxml_inconnu_entite' => '無知の項目', |
|
| 676 | - 'zxml_inconnu_id' => '無知のID', |
|
| 677 | - 'zxml_mais_de' => 'より', |
|
| 678 | - 'zxml_non_conforme' => '準拠していない', |
|
| 679 | - 'zxml_non_fils' => 'の子ではない', |
|
| 680 | - 'zxml_nonvide_balise' => '空白のないタグ', |
|
| 681 | - 'zxml_obligatoire_attribut' => '必須なのに不在', |
|
| 682 | - 'zxml_succession_fils_incorrecte' => '不正な子の継承', |
|
| 683 | - 'zxml_survoler' => '正しいのを表すには、カーソルをその上に移動してください。', |
|
| 684 | - 'zxml_valeur_attribut' => '属性の値', |
|
| 685 | - 'zxml_vide_balise' => '空白のタグ', |
|
| 686 | - 'zxml_vu' => '先ほど見た' |
|
| 638 | + // Z |
|
| 639 | + 'zbug_balise_b_aval' => ': Bタグはループ内で遅すぎる', |
|
| 640 | + 'zbug_balise_inexistante' => '@from@エラー:タグ#@balise@は存在していません。', |
|
| 641 | + 'zbug_balise_sans_argument' => '@balise@タグのパラメーターが足りません。', |
|
| 642 | + 'zbug_boucle' => 'ループ', |
|
| 643 | + 'zbug_boucle_recursive_undef' => '@nom@:未定義な回帰的なループ', |
|
| 644 | + 'zbug_calcul' => '制作', |
|
| 645 | + 'zbug_champ_hors_boucle' => 'ループ外の@champ@フィールド', |
|
| 646 | + 'zbug_champ_hors_motif' => 'フィルドは @champ@ 外部の文脈 @motif@', |
|
| 647 | + 'zbug_code' => 'コード', |
|
| 648 | + 'zbug_critere_inconnu' => '未知の基準@critere@', |
|
| 649 | + 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} on a table without atomic primary key', |
|
| 650 | + 'zbug_distant_interdit' => '外部のデータは禁止', |
|
| 651 | + 'zbug_doublon_table_sans_cle_primaire' => 'Duplicate entries on a table which does not have a simple primary key', |
|
| 652 | + 'zbug_doublon_table_sans_index' => 'Duplicate entries on a table without an index', |
|
| 653 | + 'zbug_erreur_boucle_double' => 'ループ@id@:二重定義', |
|
| 654 | + 'zbug_erreur_boucle_fermant' => '歪んでいる@id@: 欠けている終了タグ', |
|
| 655 | + 'zbug_erreur_boucle_syntaxe' => 'ループ@id@に構文エラー(BOUCLE)', |
|
| 656 | + 'zbug_erreur_compilation' => 'コンパイルエラー', |
|
| 657 | + 'zbug_erreur_execution_page' => 'ページの制作失敗', |
|
| 658 | + 'zbug_erreur_filtre' => 'エラー:未定義のフィルター「<b>@filtre@</b>」', |
|
| 659 | + 'zbug_erreur_meme_parent' => '条件{meme_parent}はループ(FORUMS)または(RUBRIQUES)だけに適用されます。', |
|
| 660 | + 'zbug_erreur_squelette' => 'テンプレート内にエラーがあります。', |
|
| 661 | + 'zbug_hors_compilation' => 'コンパイルされていない', |
|
| 662 | + 'zbug_info_erreur_squelette' => 'サイトのエラー', |
|
| 663 | + 'zbug_inversion_ordre_inexistant' => '実在しない順番の逆転', |
|
| 664 | + 'zbug_pagination_sans_critere' => '基準{pagination}をもたない#PAGINATION。または再帰的ループで使用される基準。', |
|
| 665 | + 'zbug_parametres_inclus_incorrects' => 'インクルードパラメータエラー:@param@', |
|
| 666 | + 'zbug_profile' => '制作時間:@time@', |
|
| 667 | + 'zbug_resultat' => '結果', |
|
| 668 | + 'zbug_serveur_indefini' => '未定義のSQLサーバー', |
|
| 669 | + 'zbug_statistiques' => '期間にソートされたSQLクエリ統計', |
|
| 670 | + 'zbug_table_inconnue' => 'SQLテーブル「@table@」は見つからない', |
|
| 671 | + 'zxml_connus_attributs' => '既知の属性', |
|
| 672 | + 'zxml_de' => 'より', |
|
| 673 | + 'zxml_inconnu_attribut' => '無知の属性', |
|
| 674 | + 'zxml_inconnu_balise' => '無知のタグ', |
|
| 675 | + 'zxml_inconnu_entite' => '無知の項目', |
|
| 676 | + 'zxml_inconnu_id' => '無知のID', |
|
| 677 | + 'zxml_mais_de' => 'より', |
|
| 678 | + 'zxml_non_conforme' => '準拠していない', |
|
| 679 | + 'zxml_non_fils' => 'の子ではない', |
|
| 680 | + 'zxml_nonvide_balise' => '空白のないタグ', |
|
| 681 | + 'zxml_obligatoire_attribut' => '必須なのに不在', |
|
| 682 | + 'zxml_succession_fils_incorrecte' => '不正な子の継承', |
|
| 683 | + 'zxml_survoler' => '正しいのを表すには、カーソルをその上に移動してください。', |
|
| 684 | + 'zxml_valeur_attribut' => '属性の値', |
|
| 685 | + 'zxml_vide_balise' => '空白のタグ', |
|
| 686 | + 'zxml_vu' => '先ほど見た' |
|
| 687 | 687 | ); |
@@ -4,410 +4,410 @@ 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' => 'Plugin activeren', |
|
| 14 | - 'affichage' => 'Weergave', |
|
| 15 | - 'aide_non_disponible' => 'Dit deel van de online handleiding is nog niet beschikbaar in het Nederlands.', |
|
| 16 | - 'annuler_recherche' => 'Zoekopdracht stoppen', |
|
| 17 | - 'auteur' => 'Auteur:', |
|
| 18 | - 'avis_acces_interdit' => 'Toegang verboden', |
|
| 19 | - 'avis_acces_interdit_prive' => 'Je hebt geen toegangsrechten voor pagina <b>@exec@</b>.', |
|
| 20 | - 'avis_article_modifie' => 'LET OP: @nom_auteur_modif@ heeft @date_diff@ minuten geleden aan dit artikel gewerkt.', |
|
| 21 | - 'avis_aucun_resultat' => 'Geen resultaat.', |
|
| 22 | - 'avis_base_inaccessible' => 'Kan geen verbinding maken met database @base@.', |
|
| 23 | - 'avis_chemin_invalide_1' => 'De toegang die je hebt gekozen', |
|
| 24 | - 'avis_chemin_invalide_2' => 'lijkt niet geldig. Ga terug naar de vorige pagina en controleer de ingevulde gegevens.', |
|
| 25 | - 'avis_connexion_echec_1' => 'De verbinding met de database is mislukt.', |
|
| 26 | - 'avis_connexion_echec_2' => 'Keer terug naar de vorige pagina en kijk de gegevens na die je hebt ingevuld.', |
|
| 27 | - 'avis_connexion_echec_3' => '<b>LET OP</b> Op veel servers moet je vooraf om activatie van je toegang tot de database <b>vragen</b>. Als je geen verbinding kan maken, kijk dan na of je deze actie hebt ondernomen.', |
|
| 28 | - 'avis_connexion_erreur_creer_base' => 'De database kon niet worden gemaakt.', |
|
| 29 | - 'avis_connexion_erreur_nom_base' => 'De databasenaam kan enkel letters, cijfers en koppeltekens bevatten', |
|
| 30 | - 'avis_connexion_ldap_echec_1' => 'De verbinding met de LDAP-server is mislukt.', |
|
| 31 | - 'avis_connexion_ldap_echec_2' => 'Ga terug naar de vorige pagina en kijk na of de ingevulde gegevens correct zijn.', |
|
| 32 | - 'avis_connexion_ldap_echec_3' => 'Andere mogelijkheid is om de LDAP-ondersteuning om gebruikers in te voeren niet te gebruiken.', |
|
| 33 | - 'avis_deplacement_rubrique' => 'LET OP! Deze rubriek bevat @contient_breves@ nieuwsflits@scb@. Als je wil verplaatsten, bevestig dit dan door hier het vakje aan te vinken.', |
|
| 34 | - 'avis_erreur_connexion_mysql' => 'Verbinding met de SQL connectie mislukt', |
|
| 35 | - 'avis_espace_interdit' => '<b>Toegang verboden</b><div>SPIP is al geïnstalleerd.</div>', |
|
| 36 | - 'avis_lecture_noms_bases_1' => 'Het installatieprogramma heeft de namen van de geïnstalleerde databases niet kunnen lezen.', |
|
| 37 | - 'avis_lecture_noms_bases_2' => 'Geen enkele database is beschikbaar, ofwel is de functie die de databases zou moeten tonen om veiligheidsredenen niet geactiveerd (wat vaak het geval is bij providers).', |
|
| 38 | - 'avis_lecture_noms_bases_3' => 'In het andere geval is het heel waarschijnlijk dat een database met jouw aanmeldingsnaam (login) bruikbaar is:', |
|
| 39 | - 'avis_non_acces_page' => 'Je hebt geen toegang tot deze pagina.', |
|
| 40 | - 'avis_operation_echec' => 'De bewerking is mislukt.', |
|
| 41 | - 'avis_operation_impossible' => 'Onmogelijke handeling', |
|
| 42 | - 'avis_suppression_base' => 'LET OP: Het wissen van de gegevens is onomkeerbaar', |
|
| 12 | + // A |
|
| 13 | + 'activer_plugin' => 'Plugin activeren', |
|
| 14 | + 'affichage' => 'Weergave', |
|
| 15 | + 'aide_non_disponible' => 'Dit deel van de online handleiding is nog niet beschikbaar in het Nederlands.', |
|
| 16 | + 'annuler_recherche' => 'Zoekopdracht stoppen', |
|
| 17 | + 'auteur' => 'Auteur:', |
|
| 18 | + 'avis_acces_interdit' => 'Toegang verboden', |
|
| 19 | + 'avis_acces_interdit_prive' => 'Je hebt geen toegangsrechten voor pagina <b>@exec@</b>.', |
|
| 20 | + 'avis_article_modifie' => 'LET OP: @nom_auteur_modif@ heeft @date_diff@ minuten geleden aan dit artikel gewerkt.', |
|
| 21 | + 'avis_aucun_resultat' => 'Geen resultaat.', |
|
| 22 | + 'avis_base_inaccessible' => 'Kan geen verbinding maken met database @base@.', |
|
| 23 | + 'avis_chemin_invalide_1' => 'De toegang die je hebt gekozen', |
|
| 24 | + 'avis_chemin_invalide_2' => 'lijkt niet geldig. Ga terug naar de vorige pagina en controleer de ingevulde gegevens.', |
|
| 25 | + 'avis_connexion_echec_1' => 'De verbinding met de database is mislukt.', |
|
| 26 | + 'avis_connexion_echec_2' => 'Keer terug naar de vorige pagina en kijk de gegevens na die je hebt ingevuld.', |
|
| 27 | + 'avis_connexion_echec_3' => '<b>LET OP</b> Op veel servers moet je vooraf om activatie van je toegang tot de database <b>vragen</b>. Als je geen verbinding kan maken, kijk dan na of je deze actie hebt ondernomen.', |
|
| 28 | + 'avis_connexion_erreur_creer_base' => 'De database kon niet worden gemaakt.', |
|
| 29 | + 'avis_connexion_erreur_nom_base' => 'De databasenaam kan enkel letters, cijfers en koppeltekens bevatten', |
|
| 30 | + 'avis_connexion_ldap_echec_1' => 'De verbinding met de LDAP-server is mislukt.', |
|
| 31 | + 'avis_connexion_ldap_echec_2' => 'Ga terug naar de vorige pagina en kijk na of de ingevulde gegevens correct zijn.', |
|
| 32 | + 'avis_connexion_ldap_echec_3' => 'Andere mogelijkheid is om de LDAP-ondersteuning om gebruikers in te voeren niet te gebruiken.', |
|
| 33 | + 'avis_deplacement_rubrique' => 'LET OP! Deze rubriek bevat @contient_breves@ nieuwsflits@scb@. Als je wil verplaatsten, bevestig dit dan door hier het vakje aan te vinken.', |
|
| 34 | + 'avis_erreur_connexion_mysql' => 'Verbinding met de SQL connectie mislukt', |
|
| 35 | + 'avis_espace_interdit' => '<b>Toegang verboden</b><div>SPIP is al geïnstalleerd.</div>', |
|
| 36 | + 'avis_lecture_noms_bases_1' => 'Het installatieprogramma heeft de namen van de geïnstalleerde databases niet kunnen lezen.', |
|
| 37 | + 'avis_lecture_noms_bases_2' => 'Geen enkele database is beschikbaar, ofwel is de functie die de databases zou moeten tonen om veiligheidsredenen niet geactiveerd (wat vaak het geval is bij providers).', |
|
| 38 | + 'avis_lecture_noms_bases_3' => 'In het andere geval is het heel waarschijnlijk dat een database met jouw aanmeldingsnaam (login) bruikbaar is:', |
|
| 39 | + 'avis_non_acces_page' => 'Je hebt geen toegang tot deze pagina.', |
|
| 40 | + 'avis_operation_echec' => 'De bewerking is mislukt.', |
|
| 41 | + 'avis_operation_impossible' => 'Onmogelijke handeling', |
|
| 42 | + 'avis_suppression_base' => 'LET OP: Het wissen van de gegevens is onomkeerbaar', |
|
| 43 | 43 | |
| 44 | - // B |
|
| 45 | - 'bouton_acces_ldap' => 'LDAP toegang toevoegen', |
|
| 46 | - 'bouton_ajouter' => 'Toevoegen', |
|
| 47 | - 'bouton_annuler' => 'Annuleren', |
|
| 48 | - 'bouton_cache_activer' => 'Buffer (cache) reactiveren', |
|
| 49 | - 'bouton_cache_desactiver' => 'Buffer (cache) tijdelijk uitschakelen', |
|
| 50 | - 'bouton_demande_publication' => 'De publicatie van het artikel vragen', |
|
| 51 | - 'bouton_desactive_tout' => 'Alles deactiveren', |
|
| 52 | - 'bouton_desinstaller' => 'Terugtrekken', |
|
| 53 | - 'bouton_effacer_tout' => 'ALLES wissen', |
|
| 54 | - 'bouton_envoyer_message' => 'Definitief bericht: versturen', |
|
| 55 | - 'bouton_fermer' => 'Sluiten', |
|
| 56 | - 'bouton_mettre_a_jour_base' => 'Database update', |
|
| 57 | - 'bouton_modifier' => 'Wijzigen', |
|
| 58 | - 'bouton_radio_afficher' => 'Weergeven', |
|
| 59 | - 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Opnemen in de lijst van online redacteurs', |
|
| 60 | - 'bouton_radio_envoi_annonces_adresse' => 'Aankondigingen verzenden naar dit adres:', |
|
| 61 | - 'bouton_radio_envoi_liste_nouveautes' => 'De lijst met nieuwe bijdragen versturen', |
|
| 62 | - 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Niet opnemen in de lijst van redacteurs', |
|
| 63 | - 'bouton_radio_non_envoi_annonces_editoriales' => 'Geen editoriale aankondigingen versturen', |
|
| 64 | - 'bouton_redirection' => 'OMLEIDING', |
|
| 65 | - 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Terugzetten naar de standaardwaardes', |
|
| 66 | - 'bouton_relancer_installation' => 'Installatie herstarten', |
|
| 67 | - 'bouton_reset_password' => 'Een nieuw wachtwoord genereren en per email opsturen', |
|
| 68 | - 'bouton_suivant' => 'Volgende', |
|
| 69 | - 'bouton_tenter_recuperation' => 'Poging tot herstel', |
|
| 70 | - 'bouton_test_proxy' => 'Proxy proberen', |
|
| 71 | - 'bouton_vider_cache' => 'De buffer (cache) leegmaken', |
|
| 44 | + // B |
|
| 45 | + 'bouton_acces_ldap' => 'LDAP toegang toevoegen', |
|
| 46 | + 'bouton_ajouter' => 'Toevoegen', |
|
| 47 | + 'bouton_annuler' => 'Annuleren', |
|
| 48 | + 'bouton_cache_activer' => 'Buffer (cache) reactiveren', |
|
| 49 | + 'bouton_cache_desactiver' => 'Buffer (cache) tijdelijk uitschakelen', |
|
| 50 | + 'bouton_demande_publication' => 'De publicatie van het artikel vragen', |
|
| 51 | + 'bouton_desactive_tout' => 'Alles deactiveren', |
|
| 52 | + 'bouton_desinstaller' => 'Terugtrekken', |
|
| 53 | + 'bouton_effacer_tout' => 'ALLES wissen', |
|
| 54 | + 'bouton_envoyer_message' => 'Definitief bericht: versturen', |
|
| 55 | + 'bouton_fermer' => 'Sluiten', |
|
| 56 | + 'bouton_mettre_a_jour_base' => 'Database update', |
|
| 57 | + 'bouton_modifier' => 'Wijzigen', |
|
| 58 | + 'bouton_radio_afficher' => 'Weergeven', |
|
| 59 | + 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Opnemen in de lijst van online redacteurs', |
|
| 60 | + 'bouton_radio_envoi_annonces_adresse' => 'Aankondigingen verzenden naar dit adres:', |
|
| 61 | + 'bouton_radio_envoi_liste_nouveautes' => 'De lijst met nieuwe bijdragen versturen', |
|
| 62 | + 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Niet opnemen in de lijst van redacteurs', |
|
| 63 | + 'bouton_radio_non_envoi_annonces_editoriales' => 'Geen editoriale aankondigingen versturen', |
|
| 64 | + 'bouton_redirection' => 'OMLEIDING', |
|
| 65 | + 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Terugzetten naar de standaardwaardes', |
|
| 66 | + 'bouton_relancer_installation' => 'Installatie herstarten', |
|
| 67 | + 'bouton_reset_password' => 'Een nieuw wachtwoord genereren en per email opsturen', |
|
| 68 | + 'bouton_suivant' => 'Volgende', |
|
| 69 | + 'bouton_tenter_recuperation' => 'Poging tot herstel', |
|
| 70 | + 'bouton_test_proxy' => 'Proxy proberen', |
|
| 71 | + 'bouton_vider_cache' => 'De buffer (cache) leegmaken', |
|
| 72 | 72 | |
| 73 | - // C |
|
| 74 | - 'cache_modifiable_webmestre' => 'Deze parameter kan door de webmaster van de site gewijzigd worden.', |
|
| 75 | - 'calendrier_synchro' => 'Wanneer je <b>iCal</b> compatibele agendasoftware gebruikt, kan je deze synchroniseren met informatie van deze site.', |
|
| 76 | - 'config_activer_champs' => 'De volgende velden activeren', |
|
| 77 | - 'config_choix_base_sup' => 'een database op deze server kiezen', |
|
| 78 | - 'config_erreur_base_sup' => 'SPIP heeft geen toegang tot de lijst van toegankelijke databases', |
|
| 79 | - 'config_info_base_sup' => 'Als je andere databases hebt om door SPIP te ondervragen, met zijn SQL server of anders, kan je deze via onderstaand formulier opgeven. Als je bepaalde velden leeg laat, zullen de identificatiegegevens van de primaire database gebruikt worden.', |
|
| 80 | - 'config_info_base_sup_disponibles' => 'De reeds opvraagbare aanvullende databases:', |
|
| 81 | - 'config_info_enregistree' => 'De nieuwe configuratie werd bewaard', |
|
| 82 | - 'config_info_logos' => 'Elk element van de site kan een logo hebben, evenals een « zwevend logo »', |
|
| 83 | - 'config_info_logos_utiliser' => 'Logo’s gebruiken', |
|
| 84 | - 'config_info_logos_utiliser_non' => 'Logo’s niet gebruiken', |
|
| 85 | - 'config_info_logos_utiliser_survol' => 'Zwevende logo’s gebruiken', |
|
| 86 | - 'config_info_logos_utiliser_survol_non' => 'Geen zwevende logo’s gebruiken', |
|
| 87 | - 'config_info_redirection' => 'Door deze optie te activeren, kan je virtuele artikelen maken, eenvoudige verwijzen naar gepubliceerde artikelen op andere sites, ook buiten SPIP.', |
|
| 88 | - 'config_redirection' => 'Virtuele artikelen', |
|
| 89 | - 'config_titre_base_sup' => 'Declareren van een extra database', |
|
| 90 | - 'config_titre_base_sup_choix' => 'Kies een extra database', |
|
| 91 | - 'connexion_ldap' => 'Aansluiten:', |
|
| 92 | - 'creer_et_associer_un_auteur' => 'Maken en associëren een auteur', |
|
| 73 | + // C |
|
| 74 | + 'cache_modifiable_webmestre' => 'Deze parameter kan door de webmaster van de site gewijzigd worden.', |
|
| 75 | + 'calendrier_synchro' => 'Wanneer je <b>iCal</b> compatibele agendasoftware gebruikt, kan je deze synchroniseren met informatie van deze site.', |
|
| 76 | + 'config_activer_champs' => 'De volgende velden activeren', |
|
| 77 | + 'config_choix_base_sup' => 'een database op deze server kiezen', |
|
| 78 | + 'config_erreur_base_sup' => 'SPIP heeft geen toegang tot de lijst van toegankelijke databases', |
|
| 79 | + 'config_info_base_sup' => 'Als je andere databases hebt om door SPIP te ondervragen, met zijn SQL server of anders, kan je deze via onderstaand formulier opgeven. Als je bepaalde velden leeg laat, zullen de identificatiegegevens van de primaire database gebruikt worden.', |
|
| 80 | + 'config_info_base_sup_disponibles' => 'De reeds opvraagbare aanvullende databases:', |
|
| 81 | + 'config_info_enregistree' => 'De nieuwe configuratie werd bewaard', |
|
| 82 | + 'config_info_logos' => 'Elk element van de site kan een logo hebben, evenals een « zwevend logo »', |
|
| 83 | + 'config_info_logos_utiliser' => 'Logo’s gebruiken', |
|
| 84 | + 'config_info_logos_utiliser_non' => 'Logo’s niet gebruiken', |
|
| 85 | + 'config_info_logos_utiliser_survol' => 'Zwevende logo’s gebruiken', |
|
| 86 | + 'config_info_logos_utiliser_survol_non' => 'Geen zwevende logo’s gebruiken', |
|
| 87 | + 'config_info_redirection' => 'Door deze optie te activeren, kan je virtuele artikelen maken, eenvoudige verwijzen naar gepubliceerde artikelen op andere sites, ook buiten SPIP.', |
|
| 88 | + 'config_redirection' => 'Virtuele artikelen', |
|
| 89 | + 'config_titre_base_sup' => 'Declareren van een extra database', |
|
| 90 | + 'config_titre_base_sup_choix' => 'Kies een extra database', |
|
| 91 | + 'connexion_ldap' => 'Aansluiten:', |
|
| 92 | + 'creer_et_associer_un_auteur' => 'Maken en associëren een auteur', |
|
| 93 | 93 | |
| 94 | - // D |
|
| 95 | - 'date_mot_heures' => 'uur', |
|
| 94 | + // D |
|
| 95 | + 'date_mot_heures' => 'uur', |
|
| 96 | 96 | |
| 97 | - // E |
|
| 98 | - 'ecran_securite' => '+ beveiligingsscherm @version@', |
|
| 99 | - 'email' => 'e-mail', |
|
| 100 | - 'email_2' => 'e-mail:', |
|
| 101 | - 'en_savoir_plus' => 'Meer weten hierover', |
|
| 102 | - 'entree_adresse_annuaire' => 'Plaats van het adresboek', |
|
| 103 | - 'entree_adresse_email' => 'Je e-mailadres', |
|
| 104 | - 'entree_adresse_email_2' => 'E-mailadres', |
|
| 105 | - 'entree_base_donnee_1' => 'Adres van de database', |
|
| 106 | - 'entree_base_donnee_2' => '(Vaak komt dit adres overeen met dat van je website, soms is het gewoon de vermelding «localhost» of kan je het veld blanco laten.)', |
|
| 107 | - 'entree_biographie' => 'Korte biografie in enkele woorden.', |
|
| 108 | - 'entree_chemin_acces' => '<b>Invullen</b> van de toegangscode :', |
|
| 109 | - 'entree_cle_pgp' => 'Je PGP-sleutel', |
|
| 110 | - 'entree_cle_pgp_2' => 'PGP-sleutel', |
|
| 111 | - 'entree_contenu_rubrique' => '(Inhoud van de rubriek in enkele woorden)', |
|
| 112 | - 'entree_identifiants_connexion' => 'Je verbindingsgegevens...', |
|
| 113 | - 'entree_identifiants_connexion_2' => 'Login', |
|
| 114 | - 'entree_informations_connexion_ldap' => 'Vul hier de gegevens in om verbinding te maken met het LDAP adresboek. Deze gegevens kan je opvragen bij de systeem- of netwerkbeheerder.', |
|
| 115 | - 'entree_infos_perso' => 'Wie ben je ?', |
|
| 116 | - 'entree_infos_perso_2' => 'Wie is de auteur ?', |
|
| 117 | - 'entree_interieur_rubrique' => 'In de rubriek:', |
|
| 118 | - 'entree_liens_sites' => '<b>Hypertext link</b> (verwijzing, te bezoeken website ...)', |
|
| 119 | - 'entree_login' => 'Je login', |
|
| 120 | - 'entree_login_connexion_1' => 'De login voor de verbinding', |
|
| 121 | - 'entree_login_connexion_2' => '(Komt soms overeen met je FTP-loginnaam; soms wordt dit niet ingevuld)', |
|
| 122 | - 'entree_mot_passe' => 'Je wachtwoord', |
|
| 123 | - 'entree_mot_passe_1' => 'Wachtwoord voor deze verbinding ', |
|
| 124 | - 'entree_mot_passe_2' => '(Komt vaak overeen met je wachtwoord voor FTP-toegang; soms kan je dit ook blanco laten)', |
|
| 125 | - 'entree_nom_fichier' => 'Vul hier de naam in van het bestand @texte_compresse@:', |
|
| 126 | - 'entree_nom_pseudo' => 'je naam of bijnaam', |
|
| 127 | - 'entree_nom_pseudo_1' => '(Je naam of bijnaam)', |
|
| 128 | - 'entree_nom_pseudo_2' => 'Naam of bijnaam', |
|
| 129 | - 'entree_nom_site' => 'De websitenaam', |
|
| 130 | - 'entree_nom_site_2' => 'Naam van de site van de auteur', |
|
| 131 | - 'entree_nouveau_passe' => 'Nieuw wachtwoord', |
|
| 132 | - 'entree_passe_ldap' => 'Wachtwoord', |
|
| 133 | - 'entree_port_annuaire' => 'Het poortnummer van het adresboek', |
|
| 134 | - 'entree_signature' => 'Handtekening', |
|
| 135 | - 'entree_titre_obligatoire' => '<b>Titel</b> [verplicht]<br />', |
|
| 136 | - 'entree_url' => 'Je website-adres (URL)', |
|
| 137 | - 'entree_url_2' => 'Adres van de site (URL)', |
|
| 138 | - 'erreur_connect_deja_existant' => 'Een server met die naam bestaat al', |
|
| 139 | - 'erreur_contenu_suspect' => 'Slecht opgebouwde tekst', |
|
| 140 | - 'erreur_email_deja_existant' => 'Dit emailadres is al geregistreerd.', |
|
| 141 | - 'erreur_nom_connect_incorrect' => 'Deze server naam is niet toegestaan', |
|
| 142 | - 'erreur_plugin_attribut_balise_manquant' => 'Attribuut @attribut@ ontbreekt in lus @balise@.', |
|
| 143 | - 'erreur_plugin_desinstalation_echouee' => 'Het verwijderen van de plugin is mislukt. Maar je kunt hem wel uitschakelen.', |
|
| 144 | - 'erreur_plugin_fichier_absent' => 'Bestand ontbreekt', |
|
| 145 | - 'erreur_plugin_fichier_def_absent' => 'Definitiebestand ontbreekt', |
|
| 146 | - 'erreur_plugin_nom_fonction_interdit' => 'Functienaam verboden', |
|
| 147 | - 'erreur_plugin_nom_manquant' => 'Naam van de ontbrekende plugin', |
|
| 148 | - 'erreur_plugin_prefix_manquant' => 'Ruimte voor de naamgeving van de plugin is niet gedefinieerd', |
|
| 149 | - 'erreur_plugin_tag_plugin_absent' => '<plugin> ontbreekt in het definitiebestand', |
|
| 150 | - 'erreur_plugin_version_manquant' => 'Versie van de ontbrekende plugin', |
|
| 97 | + // E |
|
| 98 | + 'ecran_securite' => '+ beveiligingsscherm @version@', |
|
| 99 | + 'email' => 'e-mail', |
|
| 100 | + 'email_2' => 'e-mail:', |
|
| 101 | + 'en_savoir_plus' => 'Meer weten hierover', |
|
| 102 | + 'entree_adresse_annuaire' => 'Plaats van het adresboek', |
|
| 103 | + 'entree_adresse_email' => 'Je e-mailadres', |
|
| 104 | + 'entree_adresse_email_2' => 'E-mailadres', |
|
| 105 | + 'entree_base_donnee_1' => 'Adres van de database', |
|
| 106 | + 'entree_base_donnee_2' => '(Vaak komt dit adres overeen met dat van je website, soms is het gewoon de vermelding «localhost» of kan je het veld blanco laten.)', |
|
| 107 | + 'entree_biographie' => 'Korte biografie in enkele woorden.', |
|
| 108 | + 'entree_chemin_acces' => '<b>Invullen</b> van de toegangscode :', |
|
| 109 | + 'entree_cle_pgp' => 'Je PGP-sleutel', |
|
| 110 | + 'entree_cle_pgp_2' => 'PGP-sleutel', |
|
| 111 | + 'entree_contenu_rubrique' => '(Inhoud van de rubriek in enkele woorden)', |
|
| 112 | + 'entree_identifiants_connexion' => 'Je verbindingsgegevens...', |
|
| 113 | + 'entree_identifiants_connexion_2' => 'Login', |
|
| 114 | + 'entree_informations_connexion_ldap' => 'Vul hier de gegevens in om verbinding te maken met het LDAP adresboek. Deze gegevens kan je opvragen bij de systeem- of netwerkbeheerder.', |
|
| 115 | + 'entree_infos_perso' => 'Wie ben je ?', |
|
| 116 | + 'entree_infos_perso_2' => 'Wie is de auteur ?', |
|
| 117 | + 'entree_interieur_rubrique' => 'In de rubriek:', |
|
| 118 | + 'entree_liens_sites' => '<b>Hypertext link</b> (verwijzing, te bezoeken website ...)', |
|
| 119 | + 'entree_login' => 'Je login', |
|
| 120 | + 'entree_login_connexion_1' => 'De login voor de verbinding', |
|
| 121 | + 'entree_login_connexion_2' => '(Komt soms overeen met je FTP-loginnaam; soms wordt dit niet ingevuld)', |
|
| 122 | + 'entree_mot_passe' => 'Je wachtwoord', |
|
| 123 | + 'entree_mot_passe_1' => 'Wachtwoord voor deze verbinding ', |
|
| 124 | + 'entree_mot_passe_2' => '(Komt vaak overeen met je wachtwoord voor FTP-toegang; soms kan je dit ook blanco laten)', |
|
| 125 | + 'entree_nom_fichier' => 'Vul hier de naam in van het bestand @texte_compresse@:', |
|
| 126 | + 'entree_nom_pseudo' => 'je naam of bijnaam', |
|
| 127 | + 'entree_nom_pseudo_1' => '(Je naam of bijnaam)', |
|
| 128 | + 'entree_nom_pseudo_2' => 'Naam of bijnaam', |
|
| 129 | + 'entree_nom_site' => 'De websitenaam', |
|
| 130 | + 'entree_nom_site_2' => 'Naam van de site van de auteur', |
|
| 131 | + 'entree_nouveau_passe' => 'Nieuw wachtwoord', |
|
| 132 | + 'entree_passe_ldap' => 'Wachtwoord', |
|
| 133 | + 'entree_port_annuaire' => 'Het poortnummer van het adresboek', |
|
| 134 | + 'entree_signature' => 'Handtekening', |
|
| 135 | + 'entree_titre_obligatoire' => '<b>Titel</b> [verplicht]<br />', |
|
| 136 | + 'entree_url' => 'Je website-adres (URL)', |
|
| 137 | + 'entree_url_2' => 'Adres van de site (URL)', |
|
| 138 | + 'erreur_connect_deja_existant' => 'Een server met die naam bestaat al', |
|
| 139 | + 'erreur_contenu_suspect' => 'Slecht opgebouwde tekst', |
|
| 140 | + 'erreur_email_deja_existant' => 'Dit emailadres is al geregistreerd.', |
|
| 141 | + 'erreur_nom_connect_incorrect' => 'Deze server naam is niet toegestaan', |
|
| 142 | + 'erreur_plugin_attribut_balise_manquant' => 'Attribuut @attribut@ ontbreekt in lus @balise@.', |
|
| 143 | + 'erreur_plugin_desinstalation_echouee' => 'Het verwijderen van de plugin is mislukt. Maar je kunt hem wel uitschakelen.', |
|
| 144 | + 'erreur_plugin_fichier_absent' => 'Bestand ontbreekt', |
|
| 145 | + 'erreur_plugin_fichier_def_absent' => 'Definitiebestand ontbreekt', |
|
| 146 | + 'erreur_plugin_nom_fonction_interdit' => 'Functienaam verboden', |
|
| 147 | + 'erreur_plugin_nom_manquant' => 'Naam van de ontbrekende plugin', |
|
| 148 | + 'erreur_plugin_prefix_manquant' => 'Ruimte voor de naamgeving van de plugin is niet gedefinieerd', |
|
| 149 | + 'erreur_plugin_tag_plugin_absent' => '<plugin> ontbreekt in het definitiebestand', |
|
| 150 | + 'erreur_plugin_version_manquant' => 'Versie van de ontbrekende plugin', |
|
| 151 | 151 | |
| 152 | - // H |
|
| 153 | - 'htaccess_a_simuler' => 'Waarschuwing: De configuratie van de HTTP-server negeert @htaccess@ bestanden. Om een goede beveiliging te hebben, moet je deze configuratie wijzigen, of de constanten @constantes@ (definieerbaar in het bestand mes_options.php) laten verwijzen naar mappen buiten @document_root@. ', # Je ne vois pas la modif ! La trad reste valable. |
|
| 154 | - 'htaccess_inoperant' => 'htaccess werkt niet', |
|
| 152 | + // H |
|
| 153 | + 'htaccess_a_simuler' => 'Waarschuwing: De configuratie van de HTTP-server negeert @htaccess@ bestanden. Om een goede beveiliging te hebben, moet je deze configuratie wijzigen, of de constanten @constantes@ (definieerbaar in het bestand mes_options.php) laten verwijzen naar mappen buiten @document_root@. ', # Je ne vois pas la modif ! La trad reste valable. |
|
| 154 | + 'htaccess_inoperant' => 'htaccess werkt niet', |
|
| 155 | 155 | |
| 156 | - // I |
|
| 157 | - 'ical_info1' => 'Deze pagina toont de verschillende wijzen waarop je contact kan houden met het gebeuren van deze website.', |
|
| 158 | - 'ical_info2' => 'Voor meer inlichtingen over al deze technieken, aarzelt niet om <a href=" @spipnet@" te raadplegen >de documentatie van SPIP</a>.', |
|
| 159 | - 'ical_info_calendrier' => 'Twee kalenders zijn beschikbaar. De eerste geeft een overzicht van alle gepubliceerde artikelen. De tweede bevat editoriale berichten en je meest recente privé-berichten : deze tweede kalender is afgeschermd voor andere gebruikers door een persoonlijke sleutel die je op elk moment kan wijzigen door je wachtwoord te vernieuwen.', |
|
| 160 | - 'ical_methode_http' => 'Downloaden', |
|
| 161 | - 'ical_methode_webcal' => 'Synchronisatie (webcal://)', |
|
| 162 | - 'ical_texte_js' => 'Met een javascriptregel kan je op eenvoudige wijze de meest recente artikelen van deze site weergeven op een andere site die je beheert.', |
|
| 163 | - 'ical_texte_prive' => 'Deze kalender is voor persoonlijk gebruik en houdt je op de hoogte van je eigen editoriale activiteit (taken en persoonlijke afspraken, voorgestelde artikelen en nieuwsflitsen...).', |
|
| 164 | - 'ical_texte_public' => 'Via deze kalender kan je de publieke activiteit van de site volgen (gepubliceerde artikelen en nieuwsflitsen).', |
|
| 165 | - 'ical_texte_rss' => 'Je kan de nieuwe berichten van de site overnemen (syndiceren) op een andere site in eender welke bestandslezer via het formaat XML/RSS (Rich Site Summary). Dit is hetzelfde formaat dat SPIP toelaat nieuws over te nemen van andere sites die een uitwisselbaar formaat hanteren (gesyndiceerde sites).', |
|
| 166 | - 'ical_titre_js' => 'Javascript', |
|
| 167 | - 'ical_titre_mailing' => 'Mailinglijst', |
|
| 168 | - 'ical_titre_rss' => 'Syndicatiebestanden', |
|
| 169 | - 'icone_accueil' => 'Home', |
|
| 170 | - 'icone_activer_cookie' => 'De toegangskoekie activeren', |
|
| 171 | - 'icone_activite' => 'Activiteit', |
|
| 172 | - 'icone_admin_plugin' => 'Plugin beheer', |
|
| 173 | - 'icone_administration' => 'Beheer', |
|
| 174 | - 'icone_afficher_auteurs' => 'Auteurs tonen', |
|
| 175 | - 'icone_afficher_visiteurs' => 'Bezoekers tonen', |
|
| 176 | - 'icone_arret_discussion' => 'Niet langer deelnemen aan deze discussie', |
|
| 177 | - 'icone_calendrier' => 'Kalender', |
|
| 178 | - 'icone_configuration' => 'Configuratie', |
|
| 179 | - 'icone_creer_auteur' => 'Een nieuwe auteur aanmaken en koppelen aan dit artikel', |
|
| 180 | - 'icone_creer_mot_cle' => 'Een nieuw trefwoord aanmaken en koppelen aan dit artikel', |
|
| 181 | - 'icone_creer_rubrique_2' => 'Een nieuwe rubriek aanmaken', |
|
| 182 | - 'icone_developpement' => 'Ontwikkeling', |
|
| 183 | - 'icone_edition' => 'Items', |
|
| 184 | - 'icone_ma_langue' => 'Mijn taal', |
|
| 185 | - 'icone_mes_infos' => 'Mijn informatie', |
|
| 186 | - 'icone_mes_preferences' => 'Mijn Voorkeuren', |
|
| 187 | - 'icone_modifier_article' => 'Dit artikel wijzigen', |
|
| 188 | - 'icone_modifier_rubrique' => 'Deze rubriek wijzigen', |
|
| 189 | - 'icone_publication' => 'Publicatie', |
|
| 190 | - 'icone_relancer_signataire' => 'De ondertekenaar heractiveren', |
|
| 191 | - 'icone_retour' => 'Terug', |
|
| 192 | - 'icone_retour_article' => 'Terug naar artikel', |
|
| 193 | - 'icone_squelette' => 'Skeletten', |
|
| 194 | - 'icone_suivi_publication' => 'Publicaties volgen', |
|
| 195 | - 'icone_supprimer_cookie' => 'De toegangskoekie verwijderen', |
|
| 196 | - 'icone_supprimer_rubrique' => 'Deze rubriek wissen', |
|
| 197 | - 'icone_supprimer_signature' => 'Deze naam wissen', |
|
| 198 | - 'icone_valider_signature' => 'Deze naam goedkeuren', |
|
| 199 | - 'image_administrer_rubrique' => 'Je kan deze rubriek beheren', |
|
| 200 | - 'impossible_modifier_login_auteur' => 'De login kan niet worden veranderd.', |
|
| 201 | - 'impossible_modifier_pass_auteur' => 'Het wachtwoord kan niet worden gewijzigd.', |
|
| 202 | - 'info_1_article' => '1 artikel', |
|
| 203 | - 'info_1_auteur' => '1 auteur', |
|
| 204 | - 'info_1_message' => '1 bericht', |
|
| 205 | - 'info_1_mot_cle' => '1 trefwoord', |
|
| 206 | - 'info_1_rubrique' => '1 rubriek', |
|
| 207 | - 'info_1_visiteur' => '1 bezoeker', |
|
| 208 | - 'info_activer_cookie' => 'Je kan een <b>toegangskoekie</b> activeren, waardoor je makkelijk kan wisselen tussen de het publieke en het privé gedeelte van de website.', |
|
| 209 | - 'info_activer_menu_developpement' => 'Toon het menu Ontwikkeling', |
|
| 210 | - 'info_admin_etre_webmestre' => 'Geef me de webmaster rechten', |
|
| 211 | - 'info_admin_je_suis_webmestre' => 'Ik ben <b>webmaster</b>', |
|
| 212 | - 'info_admin_statuer_webmestre' => 'Geef deze beheerder webmaster rechten', |
|
| 213 | - 'info_admin_webmestre' => 'Deze beheerder is <b>webmaster</b>', |
|
| 214 | - 'info_administrateur' => 'Beheerder', |
|
| 215 | - 'info_administrateur_1' => 'Beheerder', |
|
| 216 | - 'info_administrateur_2' => 'van de website (<i>voorzichtig gebruiken</i>)', |
|
| 217 | - 'info_administrateur_site_01' => 'Als je beheerder bent van deze site, gelieve', |
|
| 218 | - 'info_administrateur_site_02' => 'deze koppeling aan te klikken', |
|
| 219 | - 'info_administrateurs' => 'Beheerders', |
|
| 220 | - 'info_administrer_rubrique' => 'Je kan deze rubriek beheren', |
|
| 221 | - 'info_adresse' => 'aan/naar het adres:', |
|
| 222 | - 'info_adresse_desinscription' => 'Adres voor uitschrijven:', |
|
| 223 | - 'info_adresse_url' => 'Adres (URL) van de website', |
|
| 224 | - 'info_afficher_par_nb' => 'Tonen', |
|
| 225 | - 'info_aide_en_ligne' => 'ONLINE HELP VAN SPIP', |
|
| 226 | - 'info_ajout_image' => 'Als je afbeeldingen als bijlage aan een document toevoegt, kan SPIP hiervan automatisch miniaturen aanmaken. Hierdoor kan je bvb. automatisch een fotogalerij of portfolio aanmaken. |
|
| 156 | + // I |
|
| 157 | + 'ical_info1' => 'Deze pagina toont de verschillende wijzen waarop je contact kan houden met het gebeuren van deze website.', |
|
| 158 | + 'ical_info2' => 'Voor meer inlichtingen over al deze technieken, aarzelt niet om <a href=" @spipnet@" te raadplegen >de documentatie van SPIP</a>.', |
|
| 159 | + 'ical_info_calendrier' => 'Twee kalenders zijn beschikbaar. De eerste geeft een overzicht van alle gepubliceerde artikelen. De tweede bevat editoriale berichten en je meest recente privé-berichten : deze tweede kalender is afgeschermd voor andere gebruikers door een persoonlijke sleutel die je op elk moment kan wijzigen door je wachtwoord te vernieuwen.', |
|
| 160 | + 'ical_methode_http' => 'Downloaden', |
|
| 161 | + 'ical_methode_webcal' => 'Synchronisatie (webcal://)', |
|
| 162 | + 'ical_texte_js' => 'Met een javascriptregel kan je op eenvoudige wijze de meest recente artikelen van deze site weergeven op een andere site die je beheert.', |
|
| 163 | + 'ical_texte_prive' => 'Deze kalender is voor persoonlijk gebruik en houdt je op de hoogte van je eigen editoriale activiteit (taken en persoonlijke afspraken, voorgestelde artikelen en nieuwsflitsen...).', |
|
| 164 | + 'ical_texte_public' => 'Via deze kalender kan je de publieke activiteit van de site volgen (gepubliceerde artikelen en nieuwsflitsen).', |
|
| 165 | + 'ical_texte_rss' => 'Je kan de nieuwe berichten van de site overnemen (syndiceren) op een andere site in eender welke bestandslezer via het formaat XML/RSS (Rich Site Summary). Dit is hetzelfde formaat dat SPIP toelaat nieuws over te nemen van andere sites die een uitwisselbaar formaat hanteren (gesyndiceerde sites).', |
|
| 166 | + 'ical_titre_js' => 'Javascript', |
|
| 167 | + 'ical_titre_mailing' => 'Mailinglijst', |
|
| 168 | + 'ical_titre_rss' => 'Syndicatiebestanden', |
|
| 169 | + 'icone_accueil' => 'Home', |
|
| 170 | + 'icone_activer_cookie' => 'De toegangskoekie activeren', |
|
| 171 | + 'icone_activite' => 'Activiteit', |
|
| 172 | + 'icone_admin_plugin' => 'Plugin beheer', |
|
| 173 | + 'icone_administration' => 'Beheer', |
|
| 174 | + 'icone_afficher_auteurs' => 'Auteurs tonen', |
|
| 175 | + 'icone_afficher_visiteurs' => 'Bezoekers tonen', |
|
| 176 | + 'icone_arret_discussion' => 'Niet langer deelnemen aan deze discussie', |
|
| 177 | + 'icone_calendrier' => 'Kalender', |
|
| 178 | + 'icone_configuration' => 'Configuratie', |
|
| 179 | + 'icone_creer_auteur' => 'Een nieuwe auteur aanmaken en koppelen aan dit artikel', |
|
| 180 | + 'icone_creer_mot_cle' => 'Een nieuw trefwoord aanmaken en koppelen aan dit artikel', |
|
| 181 | + 'icone_creer_rubrique_2' => 'Een nieuwe rubriek aanmaken', |
|
| 182 | + 'icone_developpement' => 'Ontwikkeling', |
|
| 183 | + 'icone_edition' => 'Items', |
|
| 184 | + 'icone_ma_langue' => 'Mijn taal', |
|
| 185 | + 'icone_mes_infos' => 'Mijn informatie', |
|
| 186 | + 'icone_mes_preferences' => 'Mijn Voorkeuren', |
|
| 187 | + 'icone_modifier_article' => 'Dit artikel wijzigen', |
|
| 188 | + 'icone_modifier_rubrique' => 'Deze rubriek wijzigen', |
|
| 189 | + 'icone_publication' => 'Publicatie', |
|
| 190 | + 'icone_relancer_signataire' => 'De ondertekenaar heractiveren', |
|
| 191 | + 'icone_retour' => 'Terug', |
|
| 192 | + 'icone_retour_article' => 'Terug naar artikel', |
|
| 193 | + 'icone_squelette' => 'Skeletten', |
|
| 194 | + 'icone_suivi_publication' => 'Publicaties volgen', |
|
| 195 | + 'icone_supprimer_cookie' => 'De toegangskoekie verwijderen', |
|
| 196 | + 'icone_supprimer_rubrique' => 'Deze rubriek wissen', |
|
| 197 | + 'icone_supprimer_signature' => 'Deze naam wissen', |
|
| 198 | + 'icone_valider_signature' => 'Deze naam goedkeuren', |
|
| 199 | + 'image_administrer_rubrique' => 'Je kan deze rubriek beheren', |
|
| 200 | + 'impossible_modifier_login_auteur' => 'De login kan niet worden veranderd.', |
|
| 201 | + 'impossible_modifier_pass_auteur' => 'Het wachtwoord kan niet worden gewijzigd.', |
|
| 202 | + 'info_1_article' => '1 artikel', |
|
| 203 | + 'info_1_auteur' => '1 auteur', |
|
| 204 | + 'info_1_message' => '1 bericht', |
|
| 205 | + 'info_1_mot_cle' => '1 trefwoord', |
|
| 206 | + 'info_1_rubrique' => '1 rubriek', |
|
| 207 | + 'info_1_visiteur' => '1 bezoeker', |
|
| 208 | + 'info_activer_cookie' => 'Je kan een <b>toegangskoekie</b> activeren, waardoor je makkelijk kan wisselen tussen de het publieke en het privé gedeelte van de website.', |
|
| 209 | + 'info_activer_menu_developpement' => 'Toon het menu Ontwikkeling', |
|
| 210 | + 'info_admin_etre_webmestre' => 'Geef me de webmaster rechten', |
|
| 211 | + 'info_admin_je_suis_webmestre' => 'Ik ben <b>webmaster</b>', |
|
| 212 | + 'info_admin_statuer_webmestre' => 'Geef deze beheerder webmaster rechten', |
|
| 213 | + 'info_admin_webmestre' => 'Deze beheerder is <b>webmaster</b>', |
|
| 214 | + 'info_administrateur' => 'Beheerder', |
|
| 215 | + 'info_administrateur_1' => 'Beheerder', |
|
| 216 | + 'info_administrateur_2' => 'van de website (<i>voorzichtig gebruiken</i>)', |
|
| 217 | + 'info_administrateur_site_01' => 'Als je beheerder bent van deze site, gelieve', |
|
| 218 | + 'info_administrateur_site_02' => 'deze koppeling aan te klikken', |
|
| 219 | + 'info_administrateurs' => 'Beheerders', |
|
| 220 | + 'info_administrer_rubrique' => 'Je kan deze rubriek beheren', |
|
| 221 | + 'info_adresse' => 'aan/naar het adres:', |
|
| 222 | + 'info_adresse_desinscription' => 'Adres voor uitschrijven:', |
|
| 223 | + 'info_adresse_url' => 'Adres (URL) van de website', |
|
| 224 | + 'info_afficher_par_nb' => 'Tonen', |
|
| 225 | + 'info_aide_en_ligne' => 'ONLINE HELP VAN SPIP', |
|
| 226 | + 'info_ajout_image' => 'Als je afbeeldingen als bijlage aan een document toevoegt, kan SPIP hiervan automatisch miniaturen aanmaken. Hierdoor kan je bvb. automatisch een fotogalerij of portfolio aanmaken. |
|
| 227 | 227 | ', |
| 228 | - 'info_ajouter_rubrique' => 'Een nieuwe rubriek toevoegen om te beheren:', |
|
| 229 | - 'info_annonce_nouveautes' => 'Aankondiging van nieuwe bijdragen', |
|
| 230 | - 'info_article' => 'artikel', |
|
| 231 | - 'info_article_2' => 'artikelen', |
|
| 232 | - 'info_article_a_paraitre' => 'Te publiceren artikelen met postdatering', |
|
| 233 | - 'info_articles_02' => 'artikelen', |
|
| 234 | - 'info_articles_2' => 'Artikelen', |
|
| 235 | - 'info_articles_auteur' => 'Artikelen van deze auteur', |
|
| 236 | - 'info_articles_miens' => 'Mijn artikelen', |
|
| 237 | - 'info_articles_tous' => 'Alle artikelen', |
|
| 238 | - 'info_articles_trouves' => 'Gevonden artikelen', |
|
| 239 | - 'info_attente_validation' => 'Je artikelen die op goedkeuring wachten', |
|
| 240 | - 'info_aucun_article' => 'Geen artikelen', |
|
| 241 | - 'info_aucun_auteur' => 'Geen auteur', |
|
| 242 | - 'info_aucun_message' => 'Geen bericht', |
|
| 243 | - 'info_aucun_rubrique' => 'Geen rubriek', |
|
| 244 | - 'info_aujourdhui' => 'vandaag:', |
|
| 245 | - 'info_auteur_gere_rubriques' => 'Deze auteur beheert de volgende rubrieken:', |
|
| 246 | - 'info_auteur_gere_toutes_rubriques' => 'Deze auteur beheert <b>alle rubrieken</b>', |
|
| 247 | - 'info_auteur_gere_toutes_rubriques_2' => 'Ik beheer <b>alle rubrieken</b>', |
|
| 248 | - 'info_auteurs' => 'De auteurs', |
|
| 249 | - 'info_auteurs_par_tri' => 'Auteur@partri@', |
|
| 250 | - 'info_auteurs_trouves' => 'Gevonden auteurs', |
|
| 251 | - 'info_authentification_externe' => 'Externe authenticatie', |
|
| 252 | - 'info_avertissement' => 'Waarschuwing', |
|
| 253 | - 'info_barre_outils' => 'met zijn gereedschapsbalk?', |
|
| 254 | - 'info_base_installee' => 'De structuur van je database is geïnstalleerd.', |
|
| 255 | - 'info_bio' => 'biografie', |
|
| 256 | - 'info_cache_desactive' => 'De buffer (cache) is tijdelijk uitgeschakeld.', |
|
| 257 | - 'info_chapeau' => 'Kop', |
|
| 258 | - 'info_chapeau_2' => 'Kop :', |
|
| 259 | - 'info_chemin_acces_1' => 'Opties: <b>Toegang tot het adresboek</b>', |
|
| 260 | - 'info_chemin_acces_2' => 'Je dient de toegang tot de gegevens uit het adresboek in te stellen. Zonder deze instellingen is het ONmogelijk de gebruikersprofielen in dit adresboek te lezen.', |
|
| 261 | - 'info_chemin_acces_annuaire' => 'Opties: <b>Toegang in het adresboek', |
|
| 262 | - 'info_choix_base' => 'Derde stap:', |
|
| 263 | - 'info_classement_1' => '<sup>ste</sup> op @liste@', |
|
| 264 | - 'info_classement_2' => '<sup>de</sup> @liste@', |
|
| 265 | - 'info_code_acces' => 'Vergeet je eigen toegangscode niet!', |
|
| 266 | - 'info_config_suivi' => 'Wanneer dit adres van een distributielijst is, kan je hieronder het adres opgeven waar deelnemers van de site zich kunnen inschrijven. Dit adres kan een URL zijn (het webadres voor het inschrijving op de lijst), of een emailadres met een onderwerp (zoals <tt>@adresse_suivi@?subject=subscribe</tt>):', |
|
| 267 | - 'info_config_suivi_explication' => 'Je kan je op de mailinglijst van deze site inschrijven. Je zal dan via e-mail een aankondiging ontvangen van artikelen en nieuwsflitsen die voor publicatie werden voorgesteld.', |
|
| 268 | - 'info_confirmer_passe' => 'Bevestig het nieuwe wachtwoord:', |
|
| 269 | - 'info_conflit_edition_avis_non_sauvegarde' => 'Let op: de volgende velden werden elders gewijzigd. Jouw wijzigingen op deze velden werden dus niet geregistreerd.', |
|
| 270 | - 'info_conflit_edition_differences' => 'Verschillen :', |
|
| 271 | - 'info_conflit_edition_version_enregistree' => 'De geregistreerde versie :', |
|
| 272 | - 'info_conflit_edition_votre_version' => 'Jouw versie:', |
|
| 273 | - 'info_connexion_base' => 'Proberen op de database aan te sluiten', |
|
| 274 | - 'info_connexion_base_donnee' => 'Aansluiten op je database', |
|
| 275 | - 'info_connexion_ldap_ok' => 'De LDAP-verbinding is gelukt. </b><p>Je kunt doorgaan naar de volgende stap.</p>', |
|
| 276 | - 'info_connexion_mysql' => 'Je SQL verbinding', |
|
| 277 | - 'info_connexion_ok' => 'De verbinding is geslaagd.', |
|
| 278 | - 'info_contact' => 'Contact', |
|
| 279 | - 'info_contenu_articles' => 'Inhoud van de artikelen', |
|
| 280 | - 'info_contributions' => 'Bijdragen', |
|
| 281 | - 'info_creation_paragraphe' => 'Om alinea’s te maken laat je gewoon enkele regels leeg.', |
|
| 282 | - 'info_creation_rubrique' => 'Alvorens artikelen te kunnen schrijven<br /> moet minstens een rubriek worden gemaakt.<br />', |
|
| 283 | - 'info_creation_tables' => 'Aanmaken van tabellen in de database', |
|
| 284 | - 'info_creer_base' => '<b>Creëren</b> een nieuw database:', |
|
| 285 | - 'info_dans_rubrique' => 'In de rubriek:', |
|
| 286 | - 'info_date_publication_anterieure' => 'Datum van eerdere redactie:', |
|
| 287 | - 'info_date_referencement' => 'DATUM VAN DE KOPPELING VAN DEZE SITE:', |
|
| 288 | - 'info_derniere_etape' => 'Klaar!', |
|
| 289 | - 'info_descriptif' => 'Beschrijving:', |
|
| 290 | - 'info_desinstaller_plugin' => 'verwijdert de gegevens en deactiveert de plugin', |
|
| 291 | - 'info_discussion_cours' => 'Lopende discussies', |
|
| 292 | - 'info_ecrire_article' => 'Alvorens een artikel te kunnen schrijven, dien je minimaal één rubriek aan te maken.', |
|
| 293 | - 'info_email_envoi' => 'Verzendadres (optioneel)', |
|
| 294 | - 'info_email_envoi_txt' => 'Geef hieronder het adres op dat gebruikt wordt voor het versturen van e-mails. (Standaard wordt het adres van de geadresseerde als verzendadres gebruikt.):', |
|
| 295 | - 'info_email_webmestre' => 'E-mailadres webmaster', |
|
| 296 | - 'info_envoi_email_automatique' => 'Automatisch verzenden van e-mails', |
|
| 297 | - 'info_envoyer_maintenant' => 'Nu versturen', |
|
| 298 | - 'info_etape_suivante' => 'Naar de volgende stap ', |
|
| 299 | - 'info_etape_suivante_1' => 'Je kunt de volgende stap zetten.', |
|
| 300 | - 'info_etape_suivante_2' => 'Je kunt de volgende stap zetten.', |
|
| 301 | - 'info_exceptions_proxy' => 'Uitzonderingen op de proxy', |
|
| 302 | - 'info_exportation_base' => 'Uitvoer van de database naar @archive@', |
|
| 303 | - 'info_facilite_suivi_activite' => 'Om de opvolging en redactie van artikelen te vergemakkelijken, kan SPIP mails versturen -bijvoorbeeld naar een mailinglist van redacteurs- met de aankondiging van vragen voor publicatie of goedgekeurde publicaties.', |
|
| 304 | - 'info_fichiers_authent' => 'Verificatiebestand ".htpasswd"', |
|
| 305 | - 'info_forums_abo_invites' => 'Je site bevat forums met abonnement; bezoekers worden dus op de publieke site verzocht zich in te schrijven.', |
|
| 306 | - 'info_gauche_admin_tech' => '<b>Deze pagina is enkel toegankelijk voor beheerders van de site.</b><p> Ze geeft toegang tot allerlei technische onderhoudstaken. Voor het uitvoeren van sommige taken zijn een afzonderlijke aanmelding en toegang tot je site via FTP nodig.</p>', |
|
| 307 | - 'info_gauche_admin_vider' => '<b>Deze pagina is alleen beschikbaar voor beheerders.</b><p> Het biedt toegang tot diverse |
|
| 228 | + 'info_ajouter_rubrique' => 'Een nieuwe rubriek toevoegen om te beheren:', |
|
| 229 | + 'info_annonce_nouveautes' => 'Aankondiging van nieuwe bijdragen', |
|
| 230 | + 'info_article' => 'artikel', |
|
| 231 | + 'info_article_2' => 'artikelen', |
|
| 232 | + 'info_article_a_paraitre' => 'Te publiceren artikelen met postdatering', |
|
| 233 | + 'info_articles_02' => 'artikelen', |
|
| 234 | + 'info_articles_2' => 'Artikelen', |
|
| 235 | + 'info_articles_auteur' => 'Artikelen van deze auteur', |
|
| 236 | + 'info_articles_miens' => 'Mijn artikelen', |
|
| 237 | + 'info_articles_tous' => 'Alle artikelen', |
|
| 238 | + 'info_articles_trouves' => 'Gevonden artikelen', |
|
| 239 | + 'info_attente_validation' => 'Je artikelen die op goedkeuring wachten', |
|
| 240 | + 'info_aucun_article' => 'Geen artikelen', |
|
| 241 | + 'info_aucun_auteur' => 'Geen auteur', |
|
| 242 | + 'info_aucun_message' => 'Geen bericht', |
|
| 243 | + 'info_aucun_rubrique' => 'Geen rubriek', |
|
| 244 | + 'info_aujourdhui' => 'vandaag:', |
|
| 245 | + 'info_auteur_gere_rubriques' => 'Deze auteur beheert de volgende rubrieken:', |
|
| 246 | + 'info_auteur_gere_toutes_rubriques' => 'Deze auteur beheert <b>alle rubrieken</b>', |
|
| 247 | + 'info_auteur_gere_toutes_rubriques_2' => 'Ik beheer <b>alle rubrieken</b>', |
|
| 248 | + 'info_auteurs' => 'De auteurs', |
|
| 249 | + 'info_auteurs_par_tri' => 'Auteur@partri@', |
|
| 250 | + 'info_auteurs_trouves' => 'Gevonden auteurs', |
|
| 251 | + 'info_authentification_externe' => 'Externe authenticatie', |
|
| 252 | + 'info_avertissement' => 'Waarschuwing', |
|
| 253 | + 'info_barre_outils' => 'met zijn gereedschapsbalk?', |
|
| 254 | + 'info_base_installee' => 'De structuur van je database is geïnstalleerd.', |
|
| 255 | + 'info_bio' => 'biografie', |
|
| 256 | + 'info_cache_desactive' => 'De buffer (cache) is tijdelijk uitgeschakeld.', |
|
| 257 | + 'info_chapeau' => 'Kop', |
|
| 258 | + 'info_chapeau_2' => 'Kop :', |
|
| 259 | + 'info_chemin_acces_1' => 'Opties: <b>Toegang tot het adresboek</b>', |
|
| 260 | + 'info_chemin_acces_2' => 'Je dient de toegang tot de gegevens uit het adresboek in te stellen. Zonder deze instellingen is het ONmogelijk de gebruikersprofielen in dit adresboek te lezen.', |
|
| 261 | + 'info_chemin_acces_annuaire' => 'Opties: <b>Toegang in het adresboek', |
|
| 262 | + 'info_choix_base' => 'Derde stap:', |
|
| 263 | + 'info_classement_1' => '<sup>ste</sup> op @liste@', |
|
| 264 | + 'info_classement_2' => '<sup>de</sup> @liste@', |
|
| 265 | + 'info_code_acces' => 'Vergeet je eigen toegangscode niet!', |
|
| 266 | + 'info_config_suivi' => 'Wanneer dit adres van een distributielijst is, kan je hieronder het adres opgeven waar deelnemers van de site zich kunnen inschrijven. Dit adres kan een URL zijn (het webadres voor het inschrijving op de lijst), of een emailadres met een onderwerp (zoals <tt>@adresse_suivi@?subject=subscribe</tt>):', |
|
| 267 | + 'info_config_suivi_explication' => 'Je kan je op de mailinglijst van deze site inschrijven. Je zal dan via e-mail een aankondiging ontvangen van artikelen en nieuwsflitsen die voor publicatie werden voorgesteld.', |
|
| 268 | + 'info_confirmer_passe' => 'Bevestig het nieuwe wachtwoord:', |
|
| 269 | + 'info_conflit_edition_avis_non_sauvegarde' => 'Let op: de volgende velden werden elders gewijzigd. Jouw wijzigingen op deze velden werden dus niet geregistreerd.', |
|
| 270 | + 'info_conflit_edition_differences' => 'Verschillen :', |
|
| 271 | + 'info_conflit_edition_version_enregistree' => 'De geregistreerde versie :', |
|
| 272 | + 'info_conflit_edition_votre_version' => 'Jouw versie:', |
|
| 273 | + 'info_connexion_base' => 'Proberen op de database aan te sluiten', |
|
| 274 | + 'info_connexion_base_donnee' => 'Aansluiten op je database', |
|
| 275 | + 'info_connexion_ldap_ok' => 'De LDAP-verbinding is gelukt. </b><p>Je kunt doorgaan naar de volgende stap.</p>', |
|
| 276 | + 'info_connexion_mysql' => 'Je SQL verbinding', |
|
| 277 | + 'info_connexion_ok' => 'De verbinding is geslaagd.', |
|
| 278 | + 'info_contact' => 'Contact', |
|
| 279 | + 'info_contenu_articles' => 'Inhoud van de artikelen', |
|
| 280 | + 'info_contributions' => 'Bijdragen', |
|
| 281 | + 'info_creation_paragraphe' => 'Om alinea’s te maken laat je gewoon enkele regels leeg.', |
|
| 282 | + 'info_creation_rubrique' => 'Alvorens artikelen te kunnen schrijven<br /> moet minstens een rubriek worden gemaakt.<br />', |
|
| 283 | + 'info_creation_tables' => 'Aanmaken van tabellen in de database', |
|
| 284 | + 'info_creer_base' => '<b>Creëren</b> een nieuw database:', |
|
| 285 | + 'info_dans_rubrique' => 'In de rubriek:', |
|
| 286 | + 'info_date_publication_anterieure' => 'Datum van eerdere redactie:', |
|
| 287 | + 'info_date_referencement' => 'DATUM VAN DE KOPPELING VAN DEZE SITE:', |
|
| 288 | + 'info_derniere_etape' => 'Klaar!', |
|
| 289 | + 'info_descriptif' => 'Beschrijving:', |
|
| 290 | + 'info_desinstaller_plugin' => 'verwijdert de gegevens en deactiveert de plugin', |
|
| 291 | + 'info_discussion_cours' => 'Lopende discussies', |
|
| 292 | + 'info_ecrire_article' => 'Alvorens een artikel te kunnen schrijven, dien je minimaal één rubriek aan te maken.', |
|
| 293 | + 'info_email_envoi' => 'Verzendadres (optioneel)', |
|
| 294 | + 'info_email_envoi_txt' => 'Geef hieronder het adres op dat gebruikt wordt voor het versturen van e-mails. (Standaard wordt het adres van de geadresseerde als verzendadres gebruikt.):', |
|
| 295 | + 'info_email_webmestre' => 'E-mailadres webmaster', |
|
| 296 | + 'info_envoi_email_automatique' => 'Automatisch verzenden van e-mails', |
|
| 297 | + 'info_envoyer_maintenant' => 'Nu versturen', |
|
| 298 | + 'info_etape_suivante' => 'Naar de volgende stap ', |
|
| 299 | + 'info_etape_suivante_1' => 'Je kunt de volgende stap zetten.', |
|
| 300 | + 'info_etape_suivante_2' => 'Je kunt de volgende stap zetten.', |
|
| 301 | + 'info_exceptions_proxy' => 'Uitzonderingen op de proxy', |
|
| 302 | + 'info_exportation_base' => 'Uitvoer van de database naar @archive@', |
|
| 303 | + 'info_facilite_suivi_activite' => 'Om de opvolging en redactie van artikelen te vergemakkelijken, kan SPIP mails versturen -bijvoorbeeld naar een mailinglist van redacteurs- met de aankondiging van vragen voor publicatie of goedgekeurde publicaties.', |
|
| 304 | + 'info_fichiers_authent' => 'Verificatiebestand ".htpasswd"', |
|
| 305 | + 'info_forums_abo_invites' => 'Je site bevat forums met abonnement; bezoekers worden dus op de publieke site verzocht zich in te schrijven.', |
|
| 306 | + 'info_gauche_admin_tech' => '<b>Deze pagina is enkel toegankelijk voor beheerders van de site.</b><p> Ze geeft toegang tot allerlei technische onderhoudstaken. Voor het uitvoeren van sommige taken zijn een afzonderlijke aanmelding en toegang tot je site via FTP nodig.</p>', |
|
| 307 | + 'info_gauche_admin_vider' => '<b>Deze pagina is alleen beschikbaar voor beheerders.</b><p> Het biedt toegang tot diverse |
|
| 308 | 308 | technische onderhoudsfuncties. Sommige vereisen een specifiek verificatieproces, dat nodig is voor FTP-toegang tot de website.</p>', |
| 309 | - 'info_gauche_auteurs' => 'Je vindt hier alle auteurs van de site. |
|
| 309 | + 'info_gauche_auteurs' => 'Je vindt hier alle auteurs van de site. |
|
| 310 | 310 | Hun status is te herkennen aan de kleur van het icoontje (beheerder = groen; redacteur = geel).', |
| 311 | - 'info_gauche_auteurs_exterieurs' => 'Externe auteurs, zonder toegang tot de site, zijn aangeduid met een blauw icoontje, |
|
| 311 | + 'info_gauche_auteurs_exterieurs' => 'Externe auteurs, zonder toegang tot de site, zijn aangeduid met een blauw icoontje, |
|
| 312 | 312 | gewiste auteurs met een grijze.', |
| 313 | - 'info_gauche_messagerie' => 'Het berichtensysteem laat toe om berichten uit te wisselen tussen redacteurs, memo’s (voor persoonlijk gebruik) te bewaren of aankondigingen te tonen op de beginpagina van de privé-ruimte (als je beheerder bent).', |
|
| 314 | - 'info_gauche_statistiques_referers' => 'Deze pagina toont een lijst met <i>referers</i> (sites die een koppeling bevatten naar je eigen site), alleen voor vandaag en gisteren: de lijst wordt elke 24 uur opnieuw aangemaakt.', |
|
| 315 | - 'info_gauche_visiteurs_enregistres' => 'Hier zal je de geregistreerde bezoekers van de |
|
| 313 | + 'info_gauche_messagerie' => 'Het berichtensysteem laat toe om berichten uit te wisselen tussen redacteurs, memo’s (voor persoonlijk gebruik) te bewaren of aankondigingen te tonen op de beginpagina van de privé-ruimte (als je beheerder bent).', |
|
| 314 | + 'info_gauche_statistiques_referers' => 'Deze pagina toont een lijst met <i>referers</i> (sites die een koppeling bevatten naar je eigen site), alleen voor vandaag en gisteren: de lijst wordt elke 24 uur opnieuw aangemaakt.', |
|
| 315 | + 'info_gauche_visiteurs_enregistres' => 'Hier zal je de geregistreerde bezoekers van de |
|
| 316 | 316 | publieke site vinden (forums met inschrijving).', |
| 317 | - 'info_generation_miniatures_images' => 'Aanmaak van miniatuurafbeeldingen', |
|
| 318 | - 'info_gerer_trad_objets' => '@objets@: het beheer van de vertalingskoppelingen', |
|
| 319 | - 'info_hebergeur_desactiver_envoi_email' => 'Sommige hostingbedrijven staan het automatisch versturen van e-mails via hun servers niet toe. In dat geval zal de volgende functionaliteit van SPIP niet werken.', |
|
| 320 | - 'info_hier' => 'gisteren:', |
|
| 321 | - 'info_identification_publique' => 'Je publieke identiteit...', |
|
| 322 | - 'info_image_process' => 'Kies de beste methode om een miniatuurafbeelding te maken door op de bijhorende afbeelding te klikken.', |
|
| 323 | - 'info_image_process2' => 'Wanneer geen enkel beeld wordt getoond, betekent dit dat de server van je website niet is ingesteld om deze tools te gebruiken. Als je van deze functies gebruik wil maken, dien je de technische verantwoordelijke van de server te contacteren en te vragen naar «GD» of «Imagick» extensies.', |
|
| 324 | - 'info_images_auto' => 'Beelden automatisch berekend', |
|
| 325 | - 'info_informations_personnelles' => 'Persoonlijke gegevens', |
|
| 326 | - 'info_inscription' => 'Ingeschreven op', |
|
| 327 | - 'info_inscription_automatique' => 'Automatische inschrijving van nieuwe redacteurs', |
|
| 328 | - 'info_jeu_caractere' => 'Tekenset van de site', |
|
| 329 | - 'info_jours' => 'dagen', |
|
| 330 | - 'info_laisser_champs_vides' => 'velden leeglaten)', |
|
| 331 | - 'info_langues' => 'Talen van de site', |
|
| 332 | - 'info_ldap_ok' => 'De LDAP-autentificatie is geïnstalleerd', |
|
| 333 | - 'info_lien_hypertexte' => 'Hypertekst koppeling:', |
|
| 334 | - 'info_liste_nouveautes_envoyee' => 'Het lijst met nieuwe bijdragen werd verstuurd', |
|
| 335 | - 'info_liste_redacteurs_connectes' => 'Lijst met online redacteuren', |
|
| 336 | - 'info_login_existant' => 'Deze login is reeds in gebruik', |
|
| 337 | - 'info_login_trop_court' => 'Login te kort.', |
|
| 338 | - 'info_login_trop_court_car_pluriel' => 'De login moet minstens @nb@ teken bevatten.', |
|
| 339 | - 'info_logos' => 'De logo’s', |
|
| 340 | - 'info_maximum' => 'maximum:', |
|
| 341 | - 'info_meme_rubrique' => 'In dezelfde rubriek', |
|
| 342 | - 'info_message_en_redaction' => 'Je berichten in redactie', |
|
| 343 | - 'info_message_technique' => 'Technisch bericht:', |
|
| 344 | - 'info_messagerie_interne' => 'Intern berichtensysteem', |
|
| 345 | - 'info_mise_a_niveau_base' => 'update van je SQL-database', |
|
| 346 | - 'info_mise_a_niveau_base_2' => '{{LET OP!}} Je hebt een SPIP-versie geïnstalleerd die {ouder} is dan diegene die zich eerder op deze site bevond.: je database loopt hierdoor het risico beschadigd te worden waardoor je site niet meer zal functioneren.<br />{{Herinstalleer de SPIP-bestanden.}}', |
|
| 347 | - 'info_modification_enregistree' => 'Je wijziging werd geregistreerd', |
|
| 348 | - 'info_modifier_auteur' => 'De auteur wijzigen:', |
|
| 349 | - 'info_modifier_rubrique' => 'De rubriek wijzigen:', |
|
| 350 | - 'info_modifier_titre' => 'Wijzigen: @titre@', |
|
| 351 | - 'info_mon_site_spip' => 'Mijn SPIP-site', |
|
| 352 | - 'info_moyenne' => 'gemiddeld:', |
|
| 353 | - 'info_multi_cet_article' => 'Gebruikte taal in dit artikel is:', |
|
| 354 | - 'info_multi_langues_choisies' => 'Kies hierna welke talen ter beschikking staan van de redacteurs van je site. |
|
| 317 | + 'info_generation_miniatures_images' => 'Aanmaak van miniatuurafbeeldingen', |
|
| 318 | + 'info_gerer_trad_objets' => '@objets@: het beheer van de vertalingskoppelingen', |
|
| 319 | + 'info_hebergeur_desactiver_envoi_email' => 'Sommige hostingbedrijven staan het automatisch versturen van e-mails via hun servers niet toe. In dat geval zal de volgende functionaliteit van SPIP niet werken.', |
|
| 320 | + 'info_hier' => 'gisteren:', |
|
| 321 | + 'info_identification_publique' => 'Je publieke identiteit...', |
|
| 322 | + 'info_image_process' => 'Kies de beste methode om een miniatuurafbeelding te maken door op de bijhorende afbeelding te klikken.', |
|
| 323 | + 'info_image_process2' => 'Wanneer geen enkel beeld wordt getoond, betekent dit dat de server van je website niet is ingesteld om deze tools te gebruiken. Als je van deze functies gebruik wil maken, dien je de technische verantwoordelijke van de server te contacteren en te vragen naar «GD» of «Imagick» extensies.', |
|
| 324 | + 'info_images_auto' => 'Beelden automatisch berekend', |
|
| 325 | + 'info_informations_personnelles' => 'Persoonlijke gegevens', |
|
| 326 | + 'info_inscription' => 'Ingeschreven op', |
|
| 327 | + 'info_inscription_automatique' => 'Automatische inschrijving van nieuwe redacteurs', |
|
| 328 | + 'info_jeu_caractere' => 'Tekenset van de site', |
|
| 329 | + 'info_jours' => 'dagen', |
|
| 330 | + 'info_laisser_champs_vides' => 'velden leeglaten)', |
|
| 331 | + 'info_langues' => 'Talen van de site', |
|
| 332 | + 'info_ldap_ok' => 'De LDAP-autentificatie is geïnstalleerd', |
|
| 333 | + 'info_lien_hypertexte' => 'Hypertekst koppeling:', |
|
| 334 | + 'info_liste_nouveautes_envoyee' => 'Het lijst met nieuwe bijdragen werd verstuurd', |
|
| 335 | + 'info_liste_redacteurs_connectes' => 'Lijst met online redacteuren', |
|
| 336 | + 'info_login_existant' => 'Deze login is reeds in gebruik', |
|
| 337 | + 'info_login_trop_court' => 'Login te kort.', |
|
| 338 | + 'info_login_trop_court_car_pluriel' => 'De login moet minstens @nb@ teken bevatten.', |
|
| 339 | + 'info_logos' => 'De logo’s', |
|
| 340 | + 'info_maximum' => 'maximum:', |
|
| 341 | + 'info_meme_rubrique' => 'In dezelfde rubriek', |
|
| 342 | + 'info_message_en_redaction' => 'Je berichten in redactie', |
|
| 343 | + 'info_message_technique' => 'Technisch bericht:', |
|
| 344 | + 'info_messagerie_interne' => 'Intern berichtensysteem', |
|
| 345 | + 'info_mise_a_niveau_base' => 'update van je SQL-database', |
|
| 346 | + 'info_mise_a_niveau_base_2' => '{{LET OP!}} Je hebt een SPIP-versie geïnstalleerd die {ouder} is dan diegene die zich eerder op deze site bevond.: je database loopt hierdoor het risico beschadigd te worden waardoor je site niet meer zal functioneren.<br />{{Herinstalleer de SPIP-bestanden.}}', |
|
| 347 | + 'info_modification_enregistree' => 'Je wijziging werd geregistreerd', |
|
| 348 | + 'info_modifier_auteur' => 'De auteur wijzigen:', |
|
| 349 | + 'info_modifier_rubrique' => 'De rubriek wijzigen:', |
|
| 350 | + 'info_modifier_titre' => 'Wijzigen: @titre@', |
|
| 351 | + 'info_mon_site_spip' => 'Mijn SPIP-site', |
|
| 352 | + 'info_moyenne' => 'gemiddeld:', |
|
| 353 | + 'info_multi_cet_article' => 'Gebruikte taal in dit artikel is:', |
|
| 354 | + 'info_multi_langues_choisies' => 'Kies hierna welke talen ter beschikking staan van de redacteurs van je site. |
|
| 355 | 355 | Talen die al worden gebruikt (vooraan in de lijst getoond) kunnen niet geschrapt worden. |
| 356 | 356 | ', |
| 357 | - 'info_multi_objets' => '@objets@ : Activeer de taalmenu', |
|
| 358 | - 'info_multi_secteurs' => '... enkel voor de hoofdrubrieken?', |
|
| 359 | - 'info_nb_articles' => '@nb@ artikelen', |
|
| 360 | - 'info_nb_auteurs' => '@nb@ auteurs', |
|
| 361 | - 'info_nb_messages' => '@nb@ berichten', |
|
| 362 | - 'info_nb_mots_cles' => '@nb@ trefwoorden', |
|
| 363 | - 'info_nb_rubriques' => '@nb@ rubrieken', |
|
| 364 | - 'info_nb_visiteurs' => '@nb@ bezoekers', |
|
| 365 | - 'info_nom' => 'Naam', |
|
| 366 | - 'info_nom_destinataire' => 'Naam van de geadresseerde', |
|
| 367 | - 'info_nom_pas_conforme' => 'HTML bakens zijn niet toegestaan', |
|
| 368 | - 'info_nom_site' => 'Naam van je site', |
|
| 369 | - 'info_nombre_articles' => '@nb_articles@ artikelen,', |
|
| 370 | - 'info_nombre_rubriques' => '@nb_rubriques@ rubrieken, ', |
|
| 371 | - 'info_nombre_sites' => '@nb_sites@ sites,', |
|
| 372 | - 'info_non_deplacer' => 'Niet verplaatsen...', |
|
| 373 | - 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP kan regelmatig een bericht versturen om de laatste nieuwtjes van de site te melden |
|
| 357 | + 'info_multi_objets' => '@objets@ : Activeer de taalmenu', |
|
| 358 | + 'info_multi_secteurs' => '... enkel voor de hoofdrubrieken?', |
|
| 359 | + 'info_nb_articles' => '@nb@ artikelen', |
|
| 360 | + 'info_nb_auteurs' => '@nb@ auteurs', |
|
| 361 | + 'info_nb_messages' => '@nb@ berichten', |
|
| 362 | + 'info_nb_mots_cles' => '@nb@ trefwoorden', |
|
| 363 | + 'info_nb_rubriques' => '@nb@ rubrieken', |
|
| 364 | + 'info_nb_visiteurs' => '@nb@ bezoekers', |
|
| 365 | + 'info_nom' => 'Naam', |
|
| 366 | + 'info_nom_destinataire' => 'Naam van de geadresseerde', |
|
| 367 | + 'info_nom_pas_conforme' => 'HTML bakens zijn niet toegestaan', |
|
| 368 | + 'info_nom_site' => 'Naam van je site', |
|
| 369 | + 'info_nombre_articles' => '@nb_articles@ artikelen,', |
|
| 370 | + 'info_nombre_rubriques' => '@nb_rubriques@ rubrieken, ', |
|
| 371 | + 'info_nombre_sites' => '@nb_sites@ sites,', |
|
| 372 | + 'info_non_deplacer' => 'Niet verplaatsen...', |
|
| 373 | + 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP kan regelmatig een bericht versturen om de laatste nieuwtjes van de site te melden |
|
| 374 | 374 | (recent gepubliceerde artikelen en nieuwsflitsen).', |
| 375 | - 'info_non_envoi_liste_nouveautes' => 'De lijst met nieuwe bijdragen niet versturen', |
|
| 376 | - 'info_non_modifiable' => 'kan niet gewijzigd worden', |
|
| 377 | - 'info_non_suppression_mot_cle' => 'ik wil dit trefwoord niet verwijderen.', |
|
| 378 | - 'info_notes' => 'Voetnoot', |
|
| 379 | - 'info_nouvel_article' => 'Nieuw artikel', |
|
| 380 | - 'info_nouvelle_traduction' => 'Nieuwe vertaling :', |
|
| 381 | - 'info_numero_article' => 'ARTIKEL NUMMER:', |
|
| 382 | - 'info_obligatoire_02' => '(verplicht)', # MODIF |
|
| 383 | - 'info_option_accepter_visiteurs' => 'Inschrijving van bezoekers van de publieke site aanvaarden', |
|
| 384 | - 'info_option_ne_pas_accepter_visiteurs' => 'Inschrijving van bezoekers weigeren', |
|
| 385 | - 'info_options_avancees' => 'GEAVANCEERDE OPTIES', |
|
| 386 | - 'info_ou' => 'of...', |
|
| 387 | - 'info_page_interdite' => 'Verboden pagina', |
|
| 388 | - 'info_par_nom' => 'op naam', |
|
| 389 | - 'info_par_nombre_article' => 'volgens aantal artikelen', |
|
| 390 | - 'info_par_statut' => 'op status', |
|
| 391 | - 'info_par_tri' => '’(per @tri@)’', |
|
| 392 | - 'info_passe_trop_court' => 'Te kort wachtwoord.', |
|
| 393 | - 'info_passe_trop_court_car_pluriel' => 'Het wachtwoord moet ten minste @nb@ teken bevatten.', |
|
| 394 | - 'info_passes_identiques' => 'Beide wachtwoorden zijn niet identiek.', |
|
| 395 | - 'info_plus_cinq_car' => 'Meer dan 5 karakters', |
|
| 396 | - 'info_plus_cinq_car_2' => '(Meer dan 5 karakters)', |
|
| 397 | - 'info_plus_trois_car' => '(Meer dan 3 karakters)', |
|
| 398 | - 'info_popularite' => 'populariteit: @popularite@; bezoeken: @visites@', |
|
| 399 | - 'info_post_scriptum' => 'Post-Scriptum', |
|
| 400 | - 'info_post_scriptum_2' => 'Post-scriptum:', |
|
| 401 | - 'info_pour' => 'voor', |
|
| 402 | - 'info_preview_texte' => 'Nu is het ook mogelijk om de site in preview mode te zien, alsof alle artikelen en berichten (indien ze tenminste werden « voorgesteld voor publicatie ») ook echt waren gepubliceerd. Dient deze mogelijkheid uitsluitend te worden voorzien voor de beheerders, voor alle redacteurs of voor niemand?', |
|
| 403 | - 'info_procedez_par_etape' => 'vervolg stap voor stap', |
|
| 404 | - 'info_procedure_maj_version' => 'de procedure voor de update die nodig is om de database aan te passen aan de nieuwe versie van SPIP.', |
|
| 405 | - 'info_proxy_ok' => 'Test van proxy geslaagde.', |
|
| 406 | - 'info_ps' => 'N.B.', |
|
| 407 | - 'info_publier' => 'publiceren', |
|
| 408 | - 'info_publies' => 'Je gepubliceerde artikelen', |
|
| 409 | - 'info_question_accepter_visiteurs' => 'Als de sjablonen van je site voorzien dat bezoekers zich kunnen registreren zonder toegang tot de privé-ruimte, activeer dan de volgende optie :', |
|
| 410 | - 'info_question_inscription_nouveaux_redacteurs' => 'Aanvaard je inschrijvingen van nieuwe redacteuren vanaf |
|
| 375 | + 'info_non_envoi_liste_nouveautes' => 'De lijst met nieuwe bijdragen niet versturen', |
|
| 376 | + 'info_non_modifiable' => 'kan niet gewijzigd worden', |
|
| 377 | + 'info_non_suppression_mot_cle' => 'ik wil dit trefwoord niet verwijderen.', |
|
| 378 | + 'info_notes' => 'Voetnoot', |
|
| 379 | + 'info_nouvel_article' => 'Nieuw artikel', |
|
| 380 | + 'info_nouvelle_traduction' => 'Nieuwe vertaling :', |
|
| 381 | + 'info_numero_article' => 'ARTIKEL NUMMER:', |
|
| 382 | + 'info_obligatoire_02' => '(verplicht)', # MODIF |
|
| 383 | + 'info_option_accepter_visiteurs' => 'Inschrijving van bezoekers van de publieke site aanvaarden', |
|
| 384 | + 'info_option_ne_pas_accepter_visiteurs' => 'Inschrijving van bezoekers weigeren', |
|
| 385 | + 'info_options_avancees' => 'GEAVANCEERDE OPTIES', |
|
| 386 | + 'info_ou' => 'of...', |
|
| 387 | + 'info_page_interdite' => 'Verboden pagina', |
|
| 388 | + 'info_par_nom' => 'op naam', |
|
| 389 | + 'info_par_nombre_article' => 'volgens aantal artikelen', |
|
| 390 | + 'info_par_statut' => 'op status', |
|
| 391 | + 'info_par_tri' => '’(per @tri@)’', |
|
| 392 | + 'info_passe_trop_court' => 'Te kort wachtwoord.', |
|
| 393 | + 'info_passe_trop_court_car_pluriel' => 'Het wachtwoord moet ten minste @nb@ teken bevatten.', |
|
| 394 | + 'info_passes_identiques' => 'Beide wachtwoorden zijn niet identiek.', |
|
| 395 | + 'info_plus_cinq_car' => 'Meer dan 5 karakters', |
|
| 396 | + 'info_plus_cinq_car_2' => '(Meer dan 5 karakters)', |
|
| 397 | + 'info_plus_trois_car' => '(Meer dan 3 karakters)', |
|
| 398 | + 'info_popularite' => 'populariteit: @popularite@; bezoeken: @visites@', |
|
| 399 | + 'info_post_scriptum' => 'Post-Scriptum', |
|
| 400 | + 'info_post_scriptum_2' => 'Post-scriptum:', |
|
| 401 | + 'info_pour' => 'voor', |
|
| 402 | + 'info_preview_texte' => 'Nu is het ook mogelijk om de site in preview mode te zien, alsof alle artikelen en berichten (indien ze tenminste werden « voorgesteld voor publicatie ») ook echt waren gepubliceerd. Dient deze mogelijkheid uitsluitend te worden voorzien voor de beheerders, voor alle redacteurs of voor niemand?', |
|
| 403 | + 'info_procedez_par_etape' => 'vervolg stap voor stap', |
|
| 404 | + 'info_procedure_maj_version' => 'de procedure voor de update die nodig is om de database aan te passen aan de nieuwe versie van SPIP.', |
|
| 405 | + 'info_proxy_ok' => 'Test van proxy geslaagde.', |
|
| 406 | + 'info_ps' => 'N.B.', |
|
| 407 | + 'info_publier' => 'publiceren', |
|
| 408 | + 'info_publies' => 'Je gepubliceerde artikelen', |
|
| 409 | + 'info_question_accepter_visiteurs' => 'Als de sjablonen van je site voorzien dat bezoekers zich kunnen registreren zonder toegang tot de privé-ruimte, activeer dan de volgende optie :', |
|
| 410 | + 'info_question_inscription_nouveaux_redacteurs' => 'Aanvaard je inschrijvingen van nieuwe redacteuren vanaf |
|
| 411 | 411 | de publieke site? Indien wel, dan kunnen bezoekers |
| 412 | 412 | zich via een geautomatiseerd formulier inschrijven en |
| 413 | 413 | toegang krijgen tot de privé-ruimte om zelf artikelen |
@@ -417,483 +417,483 @@ discard block |
||
| 417 | 417 | blokkeren echter het versturen van e-mail vanaf hun |
| 418 | 418 | servers: in dat geval is een automatische inschrijving |
| 419 | 419 | niet mogelijk.</div>', |
| 420 | - 'info_qui_edite' => '@nom_auteur_modif@ heeft @date_diff@ minuten geleden aan deze inhoud gewerkt ', |
|
| 421 | - 'info_racine_site' => 'Begin van de site', |
|
| 422 | - 'info_recharger_page' => 'Laad deze pagina over enkele ogenblikken opnieuw.', |
|
| 423 | - 'info_recherche_auteur_zero' => 'Geen resultaat voor « @cherche_auteur@ ».', |
|
| 424 | - 'info_recommencer' => 'Probeer nogmaals, alstublieft.', |
|
| 425 | - 'info_redacteur_1' => 'Redacteur', |
|
| 426 | - 'info_redacteur_2' => 'met toegang tot de privé-ruimte (<i>aanbevolen</i>)', |
|
| 427 | - 'info_redacteurs' => 'Redacteurs', |
|
| 428 | - 'info_redaction_en_cours' => 'IN REDACTIE', |
|
| 429 | - 'info_redirection' => 'Doorverwijzing', |
|
| 430 | - 'info_redirection_activee' => 'De doorverwijzing is ingeschakeld.', |
|
| 431 | - 'info_redirection_boucle' => 'Je probeert het artikel naar zichzelf door te verwijzen.', |
|
| 432 | - 'info_redirection_desactivee' => 'De doorverwijzing is verwijderd.', |
|
| 433 | - 'info_refuses' => 'Je geweigerde artikelen', |
|
| 434 | - 'info_reglage_ldap' => 'Opties: <b>Instellen van de LDAP invoer</b>', |
|
| 435 | - 'info_renvoi_article' => '<b>Doorverwijzing.</b> Dit artikel verwijst naar de pagina:', |
|
| 436 | - 'info_reserve_admin' => 'Alleen beheerders kunnen dit adres wijzigen.', |
|
| 437 | - 'info_restreindre_rubrique' => 'Beheer tot deze rubriek beperken:', |
|
| 438 | - 'info_resultat_recherche' => 'Resultaat van de zoekopdracht:', |
|
| 439 | - 'info_rubriques' => 'Rubrieken', |
|
| 440 | - 'info_rubriques_02' => 'rubrieken', |
|
| 441 | - 'info_rubriques_trouvees' => 'Gevonden rubrieken', |
|
| 442 | - 'info_sans_titre' => 'Zonder titel', |
|
| 443 | - 'info_selection_chemin_acces' => '<b>Selecteer</b> hierna de toegangswijze tot het adresboek:', |
|
| 444 | - 'info_signatures' => 'namen', |
|
| 445 | - 'info_site' => 'Site', |
|
| 446 | - 'info_site_2' => 'site:', |
|
| 447 | - 'info_site_min' => 'site', |
|
| 448 | - 'info_site_reference_2' => 'Gekoppelde website', |
|
| 449 | - 'info_site_web' => 'Website:', |
|
| 450 | - 'info_sites' => 'sites', |
|
| 451 | - 'info_sites_lies_mot' => 'Referentiesites gekoppeld aan het trefwoord ', |
|
| 452 | - 'info_sites_proxy' => 'Een proxy gebruiken', |
|
| 453 | - 'info_sites_trouves' => 'Gevonden websites ', |
|
| 454 | - 'info_sous_titre' => 'Ondertitel:', |
|
| 455 | - 'info_statut_administrateur' => 'Beheerder', |
|
| 456 | - 'info_statut_auteur' => 'Status van deze auteur:', |
|
| 457 | - 'info_statut_auteur_2' => 'Ik ben', |
|
| 458 | - 'info_statut_auteur_a_confirmer' => 'Te bevestigen inschrijving', |
|
| 459 | - 'info_statut_auteur_autre' => 'Andere status:', |
|
| 460 | - 'info_statut_redacteur' => 'Redacteur', |
|
| 461 | - 'info_statut_utilisateurs_1' => 'Standaardstatus voor de ingevoerde gebruikers', |
|
| 462 | - 'info_statut_utilisateurs_2' => 'Kies de status die de personen uit het LDAP-adressenboek toebediend krijgen als ze de eerste keer inloggen. Nadien kan je de status van een individuele auteur wijzigen.', |
|
| 463 | - 'info_suivi_activite' => 'Opvolgen van de editoriale activiteit', |
|
| 464 | - 'info_surtitre' => 'Opschrift:', |
|
| 465 | - 'info_syndication_integrale_1' => 'Je site stelt syndicatiebestanden voor (zie « <a href="@url@">@titre@</a> »).', |
|
| 466 | - 'info_syndication_integrale_2' => 'Wil je integrale artikelen doorgeven of enkel een samenvatting van enkele honderden karakters doorgeven ?', |
|
| 467 | - 'info_table_prefix' => 'Je kunt het voorvoegsel van de naam van de databasetabel aanpassen (dit is absoluut noodzakelijk wanneer er verschillende sites in dezelfde database zitten). Dit voorvoegsel schrijf je in kleine letters, zonder accenten of spaties.', |
|
| 468 | - 'info_taille_maximale_images' => 'SPIP zal de maximumomvang van de beelden testen die hij kan behandelen (in miljoenen pixels). <br/> zullen de grotere beelden niet verminderd zijn.', |
|
| 469 | - 'info_taille_maximale_vignette' => 'Maximale grootte van de mini-afbeeldingen gemaakt door het systeem:', |
|
| 470 | - 'info_terminer_installation' => 'Je kan de standaardinstallatieprocedure nu beëindigen.', |
|
| 471 | - 'info_texte' => 'Tekst', |
|
| 472 | - 'info_texte_explicatif' => 'Uitleg', |
|
| 473 | - 'info_texte_long' => '(de tekst is lang: hij zal bijgevolg in verschillende delen verschijnen die opnieuw bij elkaar worden gevoegd na goedkeuring van de tekst.)', |
|
| 474 | - 'info_texte_message' => 'Tekst van je bericht', |
|
| 475 | - 'info_texte_message_02' => 'Tekst van het bericht', |
|
| 476 | - 'info_titre' => 'Titel:', |
|
| 477 | - 'info_total' => 'totaal:', |
|
| 478 | - 'info_tous_articles_en_redaction' => 'Alle artikelen in redactie', |
|
| 479 | - 'info_tous_articles_presents' => 'Alle in deze rubriek gepubliceerde artikelen', |
|
| 480 | - 'info_tous_articles_refuses' => 'Alle afgewezen artikelen', |
|
| 481 | - 'info_tous_les' => 'alle:', |
|
| 482 | - 'info_tout_site' => 'Volledige site', |
|
| 483 | - 'info_tout_site2' => 'Het artikel werd niet in deze taal vertaald.', |
|
| 484 | - 'info_tout_site3' => 'Het artikel werd in deze taal vertaald maar aan het bronartikel werden wijzigingen aangebracht. De vertaling dient geactualiseerd te worden.', |
|
| 485 | - 'info_tout_site4' => 'Het artikel is vertaald naar deze taal en de vertaling is geactualiseerd.', |
|
| 486 | - 'info_tout_site5' => 'Origineel artikel.', |
|
| 487 | - 'info_tout_site6' => '<b>LET OP:</b> alleen de originele artikelen worden getoond. |
|
| 420 | + 'info_qui_edite' => '@nom_auteur_modif@ heeft @date_diff@ minuten geleden aan deze inhoud gewerkt ', |
|
| 421 | + 'info_racine_site' => 'Begin van de site', |
|
| 422 | + 'info_recharger_page' => 'Laad deze pagina over enkele ogenblikken opnieuw.', |
|
| 423 | + 'info_recherche_auteur_zero' => 'Geen resultaat voor « @cherche_auteur@ ».', |
|
| 424 | + 'info_recommencer' => 'Probeer nogmaals, alstublieft.', |
|
| 425 | + 'info_redacteur_1' => 'Redacteur', |
|
| 426 | + 'info_redacteur_2' => 'met toegang tot de privé-ruimte (<i>aanbevolen</i>)', |
|
| 427 | + 'info_redacteurs' => 'Redacteurs', |
|
| 428 | + 'info_redaction_en_cours' => 'IN REDACTIE', |
|
| 429 | + 'info_redirection' => 'Doorverwijzing', |
|
| 430 | + 'info_redirection_activee' => 'De doorverwijzing is ingeschakeld.', |
|
| 431 | + 'info_redirection_boucle' => 'Je probeert het artikel naar zichzelf door te verwijzen.', |
|
| 432 | + 'info_redirection_desactivee' => 'De doorverwijzing is verwijderd.', |
|
| 433 | + 'info_refuses' => 'Je geweigerde artikelen', |
|
| 434 | + 'info_reglage_ldap' => 'Opties: <b>Instellen van de LDAP invoer</b>', |
|
| 435 | + 'info_renvoi_article' => '<b>Doorverwijzing.</b> Dit artikel verwijst naar de pagina:', |
|
| 436 | + 'info_reserve_admin' => 'Alleen beheerders kunnen dit adres wijzigen.', |
|
| 437 | + 'info_restreindre_rubrique' => 'Beheer tot deze rubriek beperken:', |
|
| 438 | + 'info_resultat_recherche' => 'Resultaat van de zoekopdracht:', |
|
| 439 | + 'info_rubriques' => 'Rubrieken', |
|
| 440 | + 'info_rubriques_02' => 'rubrieken', |
|
| 441 | + 'info_rubriques_trouvees' => 'Gevonden rubrieken', |
|
| 442 | + 'info_sans_titre' => 'Zonder titel', |
|
| 443 | + 'info_selection_chemin_acces' => '<b>Selecteer</b> hierna de toegangswijze tot het adresboek:', |
|
| 444 | + 'info_signatures' => 'namen', |
|
| 445 | + 'info_site' => 'Site', |
|
| 446 | + 'info_site_2' => 'site:', |
|
| 447 | + 'info_site_min' => 'site', |
|
| 448 | + 'info_site_reference_2' => 'Gekoppelde website', |
|
| 449 | + 'info_site_web' => 'Website:', |
|
| 450 | + 'info_sites' => 'sites', |
|
| 451 | + 'info_sites_lies_mot' => 'Referentiesites gekoppeld aan het trefwoord ', |
|
| 452 | + 'info_sites_proxy' => 'Een proxy gebruiken', |
|
| 453 | + 'info_sites_trouves' => 'Gevonden websites ', |
|
| 454 | + 'info_sous_titre' => 'Ondertitel:', |
|
| 455 | + 'info_statut_administrateur' => 'Beheerder', |
|
| 456 | + 'info_statut_auteur' => 'Status van deze auteur:', |
|
| 457 | + 'info_statut_auteur_2' => 'Ik ben', |
|
| 458 | + 'info_statut_auteur_a_confirmer' => 'Te bevestigen inschrijving', |
|
| 459 | + 'info_statut_auteur_autre' => 'Andere status:', |
|
| 460 | + 'info_statut_redacteur' => 'Redacteur', |
|
| 461 | + 'info_statut_utilisateurs_1' => 'Standaardstatus voor de ingevoerde gebruikers', |
|
| 462 | + 'info_statut_utilisateurs_2' => 'Kies de status die de personen uit het LDAP-adressenboek toebediend krijgen als ze de eerste keer inloggen. Nadien kan je de status van een individuele auteur wijzigen.', |
|
| 463 | + 'info_suivi_activite' => 'Opvolgen van de editoriale activiteit', |
|
| 464 | + 'info_surtitre' => 'Opschrift:', |
|
| 465 | + 'info_syndication_integrale_1' => 'Je site stelt syndicatiebestanden voor (zie « <a href="@url@">@titre@</a> »).', |
|
| 466 | + 'info_syndication_integrale_2' => 'Wil je integrale artikelen doorgeven of enkel een samenvatting van enkele honderden karakters doorgeven ?', |
|
| 467 | + 'info_table_prefix' => 'Je kunt het voorvoegsel van de naam van de databasetabel aanpassen (dit is absoluut noodzakelijk wanneer er verschillende sites in dezelfde database zitten). Dit voorvoegsel schrijf je in kleine letters, zonder accenten of spaties.', |
|
| 468 | + 'info_taille_maximale_images' => 'SPIP zal de maximumomvang van de beelden testen die hij kan behandelen (in miljoenen pixels). <br/> zullen de grotere beelden niet verminderd zijn.', |
|
| 469 | + 'info_taille_maximale_vignette' => 'Maximale grootte van de mini-afbeeldingen gemaakt door het systeem:', |
|
| 470 | + 'info_terminer_installation' => 'Je kan de standaardinstallatieprocedure nu beëindigen.', |
|
| 471 | + 'info_texte' => 'Tekst', |
|
| 472 | + 'info_texte_explicatif' => 'Uitleg', |
|
| 473 | + 'info_texte_long' => '(de tekst is lang: hij zal bijgevolg in verschillende delen verschijnen die opnieuw bij elkaar worden gevoegd na goedkeuring van de tekst.)', |
|
| 474 | + 'info_texte_message' => 'Tekst van je bericht', |
|
| 475 | + 'info_texte_message_02' => 'Tekst van het bericht', |
|
| 476 | + 'info_titre' => 'Titel:', |
|
| 477 | + 'info_total' => 'totaal:', |
|
| 478 | + 'info_tous_articles_en_redaction' => 'Alle artikelen in redactie', |
|
| 479 | + 'info_tous_articles_presents' => 'Alle in deze rubriek gepubliceerde artikelen', |
|
| 480 | + 'info_tous_articles_refuses' => 'Alle afgewezen artikelen', |
|
| 481 | + 'info_tous_les' => 'alle:', |
|
| 482 | + 'info_tout_site' => 'Volledige site', |
|
| 483 | + 'info_tout_site2' => 'Het artikel werd niet in deze taal vertaald.', |
|
| 484 | + 'info_tout_site3' => 'Het artikel werd in deze taal vertaald maar aan het bronartikel werden wijzigingen aangebracht. De vertaling dient geactualiseerd te worden.', |
|
| 485 | + 'info_tout_site4' => 'Het artikel is vertaald naar deze taal en de vertaling is geactualiseerd.', |
|
| 486 | + 'info_tout_site5' => 'Origineel artikel.', |
|
| 487 | + 'info_tout_site6' => '<b>LET OP:</b> alleen de originele artikelen worden getoond. |
|
| 488 | 488 | Vertalingen worden gelinkt aan het origineel, |
| 489 | 489 | een kleur geeft hun status aan:', |
| 490 | - 'info_traductions' => 'Vertalingen', |
|
| 491 | - 'info_travail_colaboratif' => 'Samenwerking op artikelen', |
|
| 492 | - 'info_un_article' => 'een artikel, ', |
|
| 493 | - 'info_un_site' => 'een website, ', |
|
| 494 | - 'info_une_rubrique' => 'een rubriek, ', |
|
| 495 | - 'info_une_rubrique_02' => '1 rubriek', |
|
| 496 | - 'info_url' => 'URL:', |
|
| 497 | - 'info_url_proxy' => 'Proxy-URL', |
|
| 498 | - 'info_url_proxy_pas_conforme' => 'De URL van de proxy is ongeldig.', |
|
| 499 | - 'info_url_site_pas_conforme' => 'De site URL is niet geldig.', |
|
| 500 | - 'info_url_test_proxy' => 'Test-URL', |
|
| 501 | - 'info_urlref' => 'Adres van de koppeling:', |
|
| 502 | - 'info_utilisation_spip' => 'Je kan het publicatiesysteem nu gebruiken...', |
|
| 503 | - 'info_visites_par_mois' => 'Weergave per maand:', |
|
| 504 | - 'info_visiteur_1' => 'Bezoeker', |
|
| 505 | - 'info_visiteur_2' => 'van de publieke site', |
|
| 506 | - 'info_visiteurs' => 'Bezoekers', |
|
| 507 | - 'info_visiteurs_02' => 'Bezoekers van de publieke site', |
|
| 508 | - 'info_webmestre_forces' => 'Webmasters zijn op dit moment gedefinieerd in <tt>@file_options@</tt>.', |
|
| 509 | - 'install_adresse_base_hebergeur' => 'Adres van de database die door de provider wordt toegekend', |
|
| 510 | - 'install_connect_ok' => 'De nieuwe database is gedeclareerd als server @connect@.', |
|
| 511 | - 'install_echec_annonce' => 'De installatie zal wellicht mislukken of leiden tot een niet-werkende site...', |
|
| 512 | - 'install_extension_mbstring' => 'SPIP functioneert niet met:', |
|
| 513 | - 'install_extension_php_obligatoire' => 'SPIP benodigt de PHP-extensie:', |
|
| 514 | - 'install_login_base_hebergeur' => 'Login van aansluiten die door de provider wordt toegekend', |
|
| 515 | - 'install_nom_base_hebergeur' => 'De naam van de database die door de provider wordt toegekend:', |
|
| 516 | - 'install_pas_table' => 'Database momenteel zonder tabellen', |
|
| 517 | - 'install_pass_base_hebergeur' => 'Wachtwoord van aansluiten dat door de provider wordt toegekend', |
|
| 518 | - 'install_php_version' => 'PHP versie @version@ onvoldoende (minimum = @minimum@)', |
|
| 519 | - 'install_select_langue' => 'Kies een taal en klik vervolgens op de knop «volgende» om de installatie te beginnen.', |
|
| 520 | - 'install_select_type_db' => 'Het type database aangeven:', |
|
| 521 | - 'install_select_type_mysql' => 'MySQL', |
|
| 522 | - 'install_select_type_pg' => 'PostgreSQL', |
|
| 523 | - 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 524 | - 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 525 | - 'install_serveur_hebergeur' => 'Databaseserver die door de provider wordt toegekend', |
|
| 526 | - 'install_table_prefix_hebergeur' => 'Het voorvoegsel van de tabel dat door de provider wordt toegekend:', |
|
| 527 | - 'install_tables_base' => 'Tabellen van de database', |
|
| 528 | - 'install_types_db_connus' => 'SPIP kan <b>MySQL</b> (het meest verbreid), <b>PostgreSQL</b> en <b>SQLite</b> gebruiken.', |
|
| 529 | - 'install_types_db_connus_avertissement' => '<b>PostgreSQL</b>support wordt experimenteel voorgesteld.', |
|
| 530 | - 'instituer_erreur_statut_a_change' => 'De status werd al gewijzigd', |
|
| 531 | - 'instituer_erreur_statut_non_autorise' => 'Je kunt niet kiezen voor deze status', |
|
| 532 | - 'intem_redacteur' => 'redacteur', |
|
| 533 | - 'intitule_licence' => 'Licentie', |
|
| 534 | - 'item_accepter_inscriptions' => 'Inschrijvingen aanvaarden', |
|
| 535 | - 'item_activer_messages_avertissement' => 'Waarschuwingsberichten activeren', |
|
| 536 | - 'item_administrateur_2' => 'beheerder', |
|
| 537 | - 'item_afficher_calendrier' => 'Op de kalender tonen', |
|
| 538 | - 'item_autoriser_syndication_integrale' => 'Volledige artikelen verspreiden via syndicatiebestanden', |
|
| 539 | - 'item_choix_administrateurs' => 'de beheerders', |
|
| 540 | - 'item_choix_generation_miniature' => 'Automatisch aanmaken van verkleinde afbeeldingen.', |
|
| 541 | - 'item_choix_non_generation_miniature' => 'Geen verkleinde afbeeldingen aanmaken.', |
|
| 542 | - 'item_choix_redacteurs' => 'de redacteurs', |
|
| 543 | - 'item_choix_visiteurs' => 'bezoekers van de publieke site', |
|
| 544 | - 'item_creer_fichiers_authent' => 'de .htpasswd bestanden aanmaken', |
|
| 545 | - 'item_login' => 'Login', |
|
| 546 | - 'item_messagerie_agenda' => 'De berichtendienst en de agenda activeren', |
|
| 547 | - 'item_mots_cles_association_articles' => 'aan artikelen', |
|
| 548 | - 'item_mots_cles_association_rubriques' => 'aan rubrieken', |
|
| 549 | - 'item_mots_cles_association_sites' => 'aan gesyndiceerde of gerefereerde sites.', |
|
| 550 | - 'item_non' => 'Nee', |
|
| 551 | - 'item_non_accepter_inscriptions' => 'Geen inschrijvingen aanvaarden', |
|
| 552 | - 'item_non_activer_messages_avertissement' => 'Geen waarschuwingsberichten', |
|
| 553 | - 'item_non_afficher_calendrier' => 'Niet tonen op de kalender', |
|
| 554 | - 'item_non_autoriser_syndication_integrale' => 'Alleen een samenvatting verspreiden', |
|
| 555 | - 'item_non_creer_fichiers_authent' => 'Deze bestanden niet aanmaken', |
|
| 556 | - 'item_non_messagerie_agenda' => 'De berichtendienst en de agenda deactiveren', |
|
| 557 | - 'item_non_publier_articles' => 'Artikelen niet vrijgeven voor de vastgelegde datum van publicatie', |
|
| 558 | - 'item_nouvel_auteur' => 'Nieuwe auteur', |
|
| 559 | - 'item_nouvelle_rubrique' => 'Nieuwe rubriek', |
|
| 560 | - 'item_oui' => 'Ja', |
|
| 561 | - 'item_publier_articles' => 'Artikelen publiceren, ongeacht hun publicatiedatum.', |
|
| 562 | - 'item_reponse_article' => 'Antwoord op artikel', |
|
| 563 | - 'item_visiteur' => 'bezoeker', |
|
| 490 | + 'info_traductions' => 'Vertalingen', |
|
| 491 | + 'info_travail_colaboratif' => 'Samenwerking op artikelen', |
|
| 492 | + 'info_un_article' => 'een artikel, ', |
|
| 493 | + 'info_un_site' => 'een website, ', |
|
| 494 | + 'info_une_rubrique' => 'een rubriek, ', |
|
| 495 | + 'info_une_rubrique_02' => '1 rubriek', |
|
| 496 | + 'info_url' => 'URL:', |
|
| 497 | + 'info_url_proxy' => 'Proxy-URL', |
|
| 498 | + 'info_url_proxy_pas_conforme' => 'De URL van de proxy is ongeldig.', |
|
| 499 | + 'info_url_site_pas_conforme' => 'De site URL is niet geldig.', |
|
| 500 | + 'info_url_test_proxy' => 'Test-URL', |
|
| 501 | + 'info_urlref' => 'Adres van de koppeling:', |
|
| 502 | + 'info_utilisation_spip' => 'Je kan het publicatiesysteem nu gebruiken...', |
|
| 503 | + 'info_visites_par_mois' => 'Weergave per maand:', |
|
| 504 | + 'info_visiteur_1' => 'Bezoeker', |
|
| 505 | + 'info_visiteur_2' => 'van de publieke site', |
|
| 506 | + 'info_visiteurs' => 'Bezoekers', |
|
| 507 | + 'info_visiteurs_02' => 'Bezoekers van de publieke site', |
|
| 508 | + 'info_webmestre_forces' => 'Webmasters zijn op dit moment gedefinieerd in <tt>@file_options@</tt>.', |
|
| 509 | + 'install_adresse_base_hebergeur' => 'Adres van de database die door de provider wordt toegekend', |
|
| 510 | + 'install_connect_ok' => 'De nieuwe database is gedeclareerd als server @connect@.', |
|
| 511 | + 'install_echec_annonce' => 'De installatie zal wellicht mislukken of leiden tot een niet-werkende site...', |
|
| 512 | + 'install_extension_mbstring' => 'SPIP functioneert niet met:', |
|
| 513 | + 'install_extension_php_obligatoire' => 'SPIP benodigt de PHP-extensie:', |
|
| 514 | + 'install_login_base_hebergeur' => 'Login van aansluiten die door de provider wordt toegekend', |
|
| 515 | + 'install_nom_base_hebergeur' => 'De naam van de database die door de provider wordt toegekend:', |
|
| 516 | + 'install_pas_table' => 'Database momenteel zonder tabellen', |
|
| 517 | + 'install_pass_base_hebergeur' => 'Wachtwoord van aansluiten dat door de provider wordt toegekend', |
|
| 518 | + 'install_php_version' => 'PHP versie @version@ onvoldoende (minimum = @minimum@)', |
|
| 519 | + 'install_select_langue' => 'Kies een taal en klik vervolgens op de knop «volgende» om de installatie te beginnen.', |
|
| 520 | + 'install_select_type_db' => 'Het type database aangeven:', |
|
| 521 | + 'install_select_type_mysql' => 'MySQL', |
|
| 522 | + 'install_select_type_pg' => 'PostgreSQL', |
|
| 523 | + 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 524 | + 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 525 | + 'install_serveur_hebergeur' => 'Databaseserver die door de provider wordt toegekend', |
|
| 526 | + 'install_table_prefix_hebergeur' => 'Het voorvoegsel van de tabel dat door de provider wordt toegekend:', |
|
| 527 | + 'install_tables_base' => 'Tabellen van de database', |
|
| 528 | + 'install_types_db_connus' => 'SPIP kan <b>MySQL</b> (het meest verbreid), <b>PostgreSQL</b> en <b>SQLite</b> gebruiken.', |
|
| 529 | + 'install_types_db_connus_avertissement' => '<b>PostgreSQL</b>support wordt experimenteel voorgesteld.', |
|
| 530 | + 'instituer_erreur_statut_a_change' => 'De status werd al gewijzigd', |
|
| 531 | + 'instituer_erreur_statut_non_autorise' => 'Je kunt niet kiezen voor deze status', |
|
| 532 | + 'intem_redacteur' => 'redacteur', |
|
| 533 | + 'intitule_licence' => 'Licentie', |
|
| 534 | + 'item_accepter_inscriptions' => 'Inschrijvingen aanvaarden', |
|
| 535 | + 'item_activer_messages_avertissement' => 'Waarschuwingsberichten activeren', |
|
| 536 | + 'item_administrateur_2' => 'beheerder', |
|
| 537 | + 'item_afficher_calendrier' => 'Op de kalender tonen', |
|
| 538 | + 'item_autoriser_syndication_integrale' => 'Volledige artikelen verspreiden via syndicatiebestanden', |
|
| 539 | + 'item_choix_administrateurs' => 'de beheerders', |
|
| 540 | + 'item_choix_generation_miniature' => 'Automatisch aanmaken van verkleinde afbeeldingen.', |
|
| 541 | + 'item_choix_non_generation_miniature' => 'Geen verkleinde afbeeldingen aanmaken.', |
|
| 542 | + 'item_choix_redacteurs' => 'de redacteurs', |
|
| 543 | + 'item_choix_visiteurs' => 'bezoekers van de publieke site', |
|
| 544 | + 'item_creer_fichiers_authent' => 'de .htpasswd bestanden aanmaken', |
|
| 545 | + 'item_login' => 'Login', |
|
| 546 | + 'item_messagerie_agenda' => 'De berichtendienst en de agenda activeren', |
|
| 547 | + 'item_mots_cles_association_articles' => 'aan artikelen', |
|
| 548 | + 'item_mots_cles_association_rubriques' => 'aan rubrieken', |
|
| 549 | + 'item_mots_cles_association_sites' => 'aan gesyndiceerde of gerefereerde sites.', |
|
| 550 | + 'item_non' => 'Nee', |
|
| 551 | + 'item_non_accepter_inscriptions' => 'Geen inschrijvingen aanvaarden', |
|
| 552 | + 'item_non_activer_messages_avertissement' => 'Geen waarschuwingsberichten', |
|
| 553 | + 'item_non_afficher_calendrier' => 'Niet tonen op de kalender', |
|
| 554 | + 'item_non_autoriser_syndication_integrale' => 'Alleen een samenvatting verspreiden', |
|
| 555 | + 'item_non_creer_fichiers_authent' => 'Deze bestanden niet aanmaken', |
|
| 556 | + 'item_non_messagerie_agenda' => 'De berichtendienst en de agenda deactiveren', |
|
| 557 | + 'item_non_publier_articles' => 'Artikelen niet vrijgeven voor de vastgelegde datum van publicatie', |
|
| 558 | + 'item_nouvel_auteur' => 'Nieuwe auteur', |
|
| 559 | + 'item_nouvelle_rubrique' => 'Nieuwe rubriek', |
|
| 560 | + 'item_oui' => 'Ja', |
|
| 561 | + 'item_publier_articles' => 'Artikelen publiceren, ongeacht hun publicatiedatum.', |
|
| 562 | + 'item_reponse_article' => 'Antwoord op artikel', |
|
| 563 | + 'item_visiteur' => 'bezoeker', |
|
| 564 | 564 | |
| 565 | - // J |
|
| 566 | - 'jour_non_connu_nc' => 'onbekend', |
|
| 565 | + // J |
|
| 566 | + 'jour_non_connu_nc' => 'onbekend', |
|
| 567 | 567 | |
| 568 | - // L |
|
| 569 | - 'label_bando_outils' => 'Knoppenbalk', |
|
| 570 | - 'label_bando_outils_afficher' => 'Knoppenbalk tonen', |
|
| 571 | - 'label_bando_outils_masquer' => 'Knoppenbalk verbergen', |
|
| 572 | - 'label_choix_langue' => 'Selecteer je taal', |
|
| 573 | - 'label_nom_fichier_connect' => 'Geef de naam die wordt gebruikt voor deze server', |
|
| 574 | - 'label_slogan_site' => 'Slogan', |
|
| 575 | - 'label_taille_ecran' => 'Breedte van het scherm', |
|
| 576 | - 'label_texte_et_icones_navigation' => 'Navigatiemenu', |
|
| 577 | - 'label_texte_et_icones_page' => 'Weergave op de pagina', |
|
| 578 | - 'ldap_correspondance' => 'erfenis van het veld @champ@', |
|
| 579 | - 'ldap_correspondance_1' => 'Erfenis van de LDAP velden', |
|
| 580 | - 'ldap_correspondance_2' => 'Voor elk volgend SPIP veld, de naam van het overeenkomstige LDAP veld aangeven. Leeglaten om niets in te vullen, door spaties of komma’s gescheiden om verschillende LDAP velden te proberen.', |
|
| 581 | - 'lien_ajouter_auteur' => 'Voeg deze auteur toe', |
|
| 582 | - 'lien_ajouter_une_rubrique' => 'Deze rubriek toevoegen', |
|
| 583 | - 'lien_email' => 'e-mail', |
|
| 584 | - 'lien_nom_site' => 'NAAM WEBSITE:', |
|
| 585 | - 'lien_rapide_contenu' => 'Naar de inhoud gaan', |
|
| 586 | - 'lien_rapide_navigation' => 'Naar de navigatie gaan', |
|
| 587 | - 'lien_rapide_recherche' => 'Op zoek gaan', |
|
| 588 | - 'lien_retirer_auteur' => 'Auteur verwijderen', |
|
| 589 | - 'lien_retirer_rubrique' => 'Rubriek verwijderen', |
|
| 590 | - 'lien_retirer_tous_auteurs' => 'Verwijder alle auteurs', |
|
| 591 | - 'lien_retirer_toutes_rubriques' => 'Alle rubrieken verwijderen', |
|
| 592 | - 'lien_site' => 'site', |
|
| 593 | - 'lien_tout_decocher' => 'Alles deselecteren', |
|
| 594 | - 'lien_tout_deplier' => 'Alles uitvouwen', |
|
| 595 | - 'lien_tout_replier' => 'Alles opvouwen', |
|
| 596 | - 'lien_tout_supprimer' => 'Alles verwijderen', |
|
| 597 | - 'lien_trier_nom' => 'Sorteer op naam', |
|
| 598 | - 'lien_trier_nombre_articles' => 'Sorteer op aantal artikelen', |
|
| 599 | - 'lien_trier_statut' => 'Sorteer op status', |
|
| 600 | - 'lien_voir_en_ligne' => 'ONLINE BEKIJKEN:', |
|
| 601 | - 'logo_article' => 'Logo van het artikel', |
|
| 602 | - 'logo_auteur' => 'Logo van de auteur', |
|
| 603 | - 'logo_rubrique' => 'Logo van de rubriek ', |
|
| 604 | - 'logo_site' => 'Logo van deze site', |
|
| 605 | - 'logo_standard_rubrique' => 'Standaard logo rubrieken', |
|
| 606 | - 'logo_survol' => 'Logo voor rollover', |
|
| 568 | + // L |
|
| 569 | + 'label_bando_outils' => 'Knoppenbalk', |
|
| 570 | + 'label_bando_outils_afficher' => 'Knoppenbalk tonen', |
|
| 571 | + 'label_bando_outils_masquer' => 'Knoppenbalk verbergen', |
|
| 572 | + 'label_choix_langue' => 'Selecteer je taal', |
|
| 573 | + 'label_nom_fichier_connect' => 'Geef de naam die wordt gebruikt voor deze server', |
|
| 574 | + 'label_slogan_site' => 'Slogan', |
|
| 575 | + 'label_taille_ecran' => 'Breedte van het scherm', |
|
| 576 | + 'label_texte_et_icones_navigation' => 'Navigatiemenu', |
|
| 577 | + 'label_texte_et_icones_page' => 'Weergave op de pagina', |
|
| 578 | + 'ldap_correspondance' => 'erfenis van het veld @champ@', |
|
| 579 | + 'ldap_correspondance_1' => 'Erfenis van de LDAP velden', |
|
| 580 | + 'ldap_correspondance_2' => 'Voor elk volgend SPIP veld, de naam van het overeenkomstige LDAP veld aangeven. Leeglaten om niets in te vullen, door spaties of komma’s gescheiden om verschillende LDAP velden te proberen.', |
|
| 581 | + 'lien_ajouter_auteur' => 'Voeg deze auteur toe', |
|
| 582 | + 'lien_ajouter_une_rubrique' => 'Deze rubriek toevoegen', |
|
| 583 | + 'lien_email' => 'e-mail', |
|
| 584 | + 'lien_nom_site' => 'NAAM WEBSITE:', |
|
| 585 | + 'lien_rapide_contenu' => 'Naar de inhoud gaan', |
|
| 586 | + 'lien_rapide_navigation' => 'Naar de navigatie gaan', |
|
| 587 | + 'lien_rapide_recherche' => 'Op zoek gaan', |
|
| 588 | + 'lien_retirer_auteur' => 'Auteur verwijderen', |
|
| 589 | + 'lien_retirer_rubrique' => 'Rubriek verwijderen', |
|
| 590 | + 'lien_retirer_tous_auteurs' => 'Verwijder alle auteurs', |
|
| 591 | + 'lien_retirer_toutes_rubriques' => 'Alle rubrieken verwijderen', |
|
| 592 | + 'lien_site' => 'site', |
|
| 593 | + 'lien_tout_decocher' => 'Alles deselecteren', |
|
| 594 | + 'lien_tout_deplier' => 'Alles uitvouwen', |
|
| 595 | + 'lien_tout_replier' => 'Alles opvouwen', |
|
| 596 | + 'lien_tout_supprimer' => 'Alles verwijderen', |
|
| 597 | + 'lien_trier_nom' => 'Sorteer op naam', |
|
| 598 | + 'lien_trier_nombre_articles' => 'Sorteer op aantal artikelen', |
|
| 599 | + 'lien_trier_statut' => 'Sorteer op status', |
|
| 600 | + 'lien_voir_en_ligne' => 'ONLINE BEKIJKEN:', |
|
| 601 | + 'logo_article' => 'Logo van het artikel', |
|
| 602 | + 'logo_auteur' => 'Logo van de auteur', |
|
| 603 | + 'logo_rubrique' => 'Logo van de rubriek ', |
|
| 604 | + 'logo_site' => 'Logo van deze site', |
|
| 605 | + 'logo_standard_rubrique' => 'Standaard logo rubrieken', |
|
| 606 | + 'logo_survol' => 'Logo voor rollover', |
|
| 607 | 607 | |
| 608 | - // M |
|
| 609 | - 'menu_aide_installation_choix_base' => 'Database kiezen', |
|
| 610 | - 'module_fichier_langue' => 'Taalbestand', |
|
| 611 | - 'module_raccourci' => 'Snelkoppeling', |
|
| 612 | - 'module_texte_affiche' => 'Weergegeven tekst', |
|
| 613 | - 'module_texte_explicatif' => 'Je kan de volgende snelkoppelingen invoegen in de skeletten van je publieke site. Ze worden automatisch vertaald in de verschillende talen waarvoor een taalbestand is aangemaakt.', |
|
| 614 | - 'module_texte_traduction' => 'Het taalbestand « @module@ » is beschikbaar in het:', |
|
| 615 | - 'mois_non_connu' => 'Onbekend', |
|
| 608 | + // M |
|
| 609 | + 'menu_aide_installation_choix_base' => 'Database kiezen', |
|
| 610 | + 'module_fichier_langue' => 'Taalbestand', |
|
| 611 | + 'module_raccourci' => 'Snelkoppeling', |
|
| 612 | + 'module_texte_affiche' => 'Weergegeven tekst', |
|
| 613 | + 'module_texte_explicatif' => 'Je kan de volgende snelkoppelingen invoegen in de skeletten van je publieke site. Ze worden automatisch vertaald in de verschillende talen waarvoor een taalbestand is aangemaakt.', |
|
| 614 | + 'module_texte_traduction' => 'Het taalbestand « @module@ » is beschikbaar in het:', |
|
| 615 | + 'mois_non_connu' => 'Onbekend', |
|
| 616 | 616 | |
| 617 | - // N |
|
| 618 | - 'nouvelle_version_spip' => 'Versie @version@ van SPIP is beschikbaar', |
|
| 619 | - 'nouvelle_version_spip_majeure' => 'Een nieuwe versie van SPIP @version@ is beschikbaar', |
|
| 617 | + // N |
|
| 618 | + 'nouvelle_version_spip' => 'Versie @version@ van SPIP is beschikbaar', |
|
| 619 | + 'nouvelle_version_spip_majeure' => 'Een nieuwe versie van SPIP @version@ is beschikbaar', |
|
| 620 | 620 | |
| 621 | - // O |
|
| 622 | - 'onglet_contenu' => 'Inhoud', |
|
| 623 | - 'onglet_declarer_une_autre_base' => 'Een andere database declareren', |
|
| 624 | - 'onglet_discuter' => 'Discussiëren', |
|
| 625 | - 'onglet_interactivite' => 'Interactiviteit', |
|
| 626 | - 'onglet_proprietes' => 'Eigendommen', |
|
| 627 | - 'onglet_repartition_actuelle' => 'nu', |
|
| 628 | - 'onglet_sous_rubriques' => 'Subrubrieken', |
|
| 621 | + // O |
|
| 622 | + 'onglet_contenu' => 'Inhoud', |
|
| 623 | + 'onglet_declarer_une_autre_base' => 'Een andere database declareren', |
|
| 624 | + 'onglet_discuter' => 'Discussiëren', |
|
| 625 | + 'onglet_interactivite' => 'Interactiviteit', |
|
| 626 | + 'onglet_proprietes' => 'Eigendommen', |
|
| 627 | + 'onglet_repartition_actuelle' => 'nu', |
|
| 628 | + 'onglet_sous_rubriques' => 'Subrubrieken', |
|
| 629 | 629 | |
| 630 | - // P |
|
| 631 | - 'page_pas_proxy' => 'Deze bladzijde moet niet via proxy gaan', |
|
| 632 | - 'pas_de_proxy_pour' => 'Geef desnoods de machines of gebieden aan waarvoor deze proxy niet van toepassing moet zijn (bijvoorbeeld: @exemple@)', |
|
| 633 | - 'phpinfo' => 'PHP Configuratie', |
|
| 634 | - 'plugin_charge_paquet' => 'Inladen van het pakket @name@', |
|
| 635 | - 'plugin_charger' => 'Download', |
|
| 636 | - 'plugin_erreur_charger' => 'fout: onmogelijk om @zip@ te laden', |
|
| 637 | - 'plugin_erreur_droit1' => 'Er kan niet worden geschreven naar <code>@dest@</code>.', |
|
| 638 | - 'plugin_erreur_droit2' => 'Controleer de rechten op deze map (en maak hem eventueel aan), of plaats de bestanden via FTP.', |
|
| 639 | - 'plugin_erreur_zip' => 'pclzip fout: fout @status@', |
|
| 640 | - 'plugin_etat_developpement' => 'in ontwikkeling', |
|
| 641 | - 'plugin_etat_experimental' => 'experimenteel', |
|
| 642 | - 'plugin_etat_stable' => 'stabiel', |
|
| 643 | - 'plugin_etat_test' => 'in test', |
|
| 644 | - 'plugin_impossible_activer' => 'Onmogelijk om plugin @plugin@ te activeren', |
|
| 645 | - 'plugin_info_automatique1' => 'Als je de automatische installatie van plugins wilt toelaten, moet je:', |
|
| 646 | - 'plugin_info_automatique1_lib' => 'Als je de automatische installatie van deze bibliotheek toe wilt laten:', |
|
| 647 | - 'plugin_info_automatique2' => 'een lijst <code>@rep@</code> aanmaken;', |
|
| 648 | - 'plugin_info_automatique3' => 'controleren dat de server het recht heeft om in deze map te schrijven.', |
|
| 649 | - 'plugin_info_automatique_creer' => 'om in de siteroot te creëren.', |
|
| 650 | - 'plugin_info_automatique_exemples' => 'voorbeelden:', |
|
| 651 | - 'plugin_info_automatique_ftp' => 'Je kunt een plugin met FTP in de map <tt>@rep@</tt> plaatsen', |
|
| 652 | - 'plugin_info_automatique_lib' => 'Sommige plugins vragen eveneens om bestanden in map <code>lib/</code> te kunnen downloaden, die in de root van de site moet bestaan.', |
|
| 653 | - 'plugin_info_automatique_liste' => 'Je lijst van plugins:', |
|
| 654 | - 'plugin_info_automatique_liste_officielle' => 'officiële plugins', |
|
| 655 | - 'plugin_info_automatique_liste_update' => 'De lijsten bijwerken', |
|
| 656 | - 'plugin_info_automatique_ou' => 'om...', |
|
| 657 | - 'plugin_info_automatique_select' => 'Selecteert hieronder een plugin: SPIP zal hem downloaden en in map <code>@rep@</code> plaatsen; als de plugin al bestaat, zal hij worden bijgewerkt.', |
|
| 658 | - 'plugin_info_credit' => 'Credits', |
|
| 659 | - 'plugin_info_erreur_xml' => 'De declaratie van deze plugin is onjuist', |
|
| 660 | - 'plugin_info_install_ok' => 'Succesvolle installatie', |
|
| 661 | - 'plugin_info_necessite' => 'Benodigd:', |
|
| 662 | - 'plugin_info_non_compatible_spip' => 'Deze plugin is niet compatibel met deze versie van SPIP', |
|
| 663 | - 'plugin_info_plugins_dist_1' => 'De onderstaande plugins zijn geladen en geactiveerd in de directory @plugins_dist@.', # extensies zijn speciaale plugins geleeverd met spip-core om een gebruikbare SPIP pakket te bouwen |
|
| 664 | - 'plugin_info_plugins_dist_2' => 'Ze zijn niet te deactiveren.', |
|
| 665 | - 'plugin_info_telecharger' => 'om vanaf @url@ te downloaden en te plaatsen in @rep@', |
|
| 666 | - 'plugin_info_upgrade_ok' => ' Update geslaagd', |
|
| 667 | - 'plugin_librairies_installees' => 'Geïnstalleerde bibliotheken', |
|
| 668 | - 'plugin_necessite_extension_php' => 'De PHP-extensie @plugin@ is benodigd in versie @version@.', |
|
| 669 | - 'plugin_necessite_extension_php_sans_version' => 'Benodigde PHP-extensie: @plugin@', |
|
| 670 | - 'plugin_necessite_lib' => 'Deze plugin vereist de library @lib@', |
|
| 671 | - 'plugin_necessite_php' => 'Vereist @plugin@ in versie @version@.', |
|
| 672 | - 'plugin_necessite_plugin' => 'Vereist plugin @plugin@ met minimale versie @version@.', |
|
| 673 | - 'plugin_necessite_plugin_sans_version' => 'Vereist plugin @plugin@ ', |
|
| 674 | - 'plugin_necessite_spip' => 'Vereist SPIP in minimale versie @version@.', |
|
| 675 | - 'plugin_source' => 'bron: ', |
|
| 676 | - 'plugin_titre_automatique' => 'Automatische installatie', |
|
| 677 | - 'plugin_titre_automatique_ajouter' => 'Een plugin toevoegen', |
|
| 678 | - 'plugin_titre_installation' => 'Het installeren van plugin @plugin@', |
|
| 679 | - 'plugin_titre_modifier' => 'Mijn plugins', |
|
| 680 | - 'plugin_utilise_extension_php' => 'Gebruik de PHP-extensie @plugin@ in versie @version@.', # MODIF |
|
| 681 | - 'plugin_utilise_php' => 'Gebruikt @plugin@ in versie @version@.', # MODIF |
|
| 682 | - 'plugin_utilise_plugin' => 'Gebruikt plugin @plugin@ met versie @version@.', # MODIF |
|
| 683 | - 'plugin_zip_active' => 'Gaat door om het te activeren', |
|
| 684 | - 'plugin_zip_adresse' => 'geef hieronder het adres van een zipbestand om de plugin te downloaden, of het adres van een lijst van plugins.', |
|
| 685 | - 'plugin_zip_adresse_champ' => 'Adres van plugin of van de lijst ', |
|
| 686 | - 'plugin_zip_content' => 'Hij bevat de volgende bestanden (@taille@), <br/>klaar om in de map <code>@rep@</code> te worden geplaatst', |
|
| 687 | - 'plugin_zip_installe_finie' => 'Het bestand @zip@ is geunzipt en werd geplaatst.', |
|
| 688 | - 'plugin_zip_installe_rep_finie' => 'Het bestand @zip@ is geunzipt en werd in de map @rep@ geplaatst', |
|
| 689 | - 'plugin_zip_installer' => 'Je kunt hem nu installeren.', |
|
| 690 | - 'plugin_zip_telecharge' => 'Het bestand @zip@ werd geladen', |
|
| 691 | - 'plugins_actif_aucun' => 'Geen plugins ingeschakeld.', |
|
| 692 | - 'plugins_actif_un' => 'Eén plugin is ingeschakeld.', |
|
| 693 | - 'plugins_actifs' => '@count@ plugins activeren.', |
|
| 694 | - 'plugins_actifs_liste' => 'Actief', |
|
| 695 | - 'plugins_compte' => '@count@ plugins', |
|
| 696 | - 'plugins_disponible_un' => 'Eén plugin beschikbaar.', |
|
| 697 | - 'plugins_disponibles' => '@count@ plugins beschikbaar.', |
|
| 698 | - 'plugins_erreur' => 'De fout in plugins: @plugins@', |
|
| 699 | - 'plugins_liste' => 'Lijst van plugins', |
|
| 700 | - 'plugins_liste_dist' => 'Vergrendelde plugins', # "locked" in english |
|
| 701 | - 'plugins_recents' => 'Recente plugins.', |
|
| 702 | - 'plugins_tous_liste' => 'Alle', |
|
| 703 | - 'plugins_vue_hierarchie' => 'Hiërarchie', |
|
| 704 | - 'plugins_vue_liste' => 'Lijst', |
|
| 705 | - 'protocole_ldap' => 'De versie van het protocol:', |
|
| 630 | + // P |
|
| 631 | + 'page_pas_proxy' => 'Deze bladzijde moet niet via proxy gaan', |
|
| 632 | + 'pas_de_proxy_pour' => 'Geef desnoods de machines of gebieden aan waarvoor deze proxy niet van toepassing moet zijn (bijvoorbeeld: @exemple@)', |
|
| 633 | + 'phpinfo' => 'PHP Configuratie', |
|
| 634 | + 'plugin_charge_paquet' => 'Inladen van het pakket @name@', |
|
| 635 | + 'plugin_charger' => 'Download', |
|
| 636 | + 'plugin_erreur_charger' => 'fout: onmogelijk om @zip@ te laden', |
|
| 637 | + 'plugin_erreur_droit1' => 'Er kan niet worden geschreven naar <code>@dest@</code>.', |
|
| 638 | + 'plugin_erreur_droit2' => 'Controleer de rechten op deze map (en maak hem eventueel aan), of plaats de bestanden via FTP.', |
|
| 639 | + 'plugin_erreur_zip' => 'pclzip fout: fout @status@', |
|
| 640 | + 'plugin_etat_developpement' => 'in ontwikkeling', |
|
| 641 | + 'plugin_etat_experimental' => 'experimenteel', |
|
| 642 | + 'plugin_etat_stable' => 'stabiel', |
|
| 643 | + 'plugin_etat_test' => 'in test', |
|
| 644 | + 'plugin_impossible_activer' => 'Onmogelijk om plugin @plugin@ te activeren', |
|
| 645 | + 'plugin_info_automatique1' => 'Als je de automatische installatie van plugins wilt toelaten, moet je:', |
|
| 646 | + 'plugin_info_automatique1_lib' => 'Als je de automatische installatie van deze bibliotheek toe wilt laten:', |
|
| 647 | + 'plugin_info_automatique2' => 'een lijst <code>@rep@</code> aanmaken;', |
|
| 648 | + 'plugin_info_automatique3' => 'controleren dat de server het recht heeft om in deze map te schrijven.', |
|
| 649 | + 'plugin_info_automatique_creer' => 'om in de siteroot te creëren.', |
|
| 650 | + 'plugin_info_automatique_exemples' => 'voorbeelden:', |
|
| 651 | + 'plugin_info_automatique_ftp' => 'Je kunt een plugin met FTP in de map <tt>@rep@</tt> plaatsen', |
|
| 652 | + 'plugin_info_automatique_lib' => 'Sommige plugins vragen eveneens om bestanden in map <code>lib/</code> te kunnen downloaden, die in de root van de site moet bestaan.', |
|
| 653 | + 'plugin_info_automatique_liste' => 'Je lijst van plugins:', |
|
| 654 | + 'plugin_info_automatique_liste_officielle' => 'officiële plugins', |
|
| 655 | + 'plugin_info_automatique_liste_update' => 'De lijsten bijwerken', |
|
| 656 | + 'plugin_info_automatique_ou' => 'om...', |
|
| 657 | + 'plugin_info_automatique_select' => 'Selecteert hieronder een plugin: SPIP zal hem downloaden en in map <code>@rep@</code> plaatsen; als de plugin al bestaat, zal hij worden bijgewerkt.', |
|
| 658 | + 'plugin_info_credit' => 'Credits', |
|
| 659 | + 'plugin_info_erreur_xml' => 'De declaratie van deze plugin is onjuist', |
|
| 660 | + 'plugin_info_install_ok' => 'Succesvolle installatie', |
|
| 661 | + 'plugin_info_necessite' => 'Benodigd:', |
|
| 662 | + 'plugin_info_non_compatible_spip' => 'Deze plugin is niet compatibel met deze versie van SPIP', |
|
| 663 | + 'plugin_info_plugins_dist_1' => 'De onderstaande plugins zijn geladen en geactiveerd in de directory @plugins_dist@.', # extensies zijn speciaale plugins geleeverd met spip-core om een gebruikbare SPIP pakket te bouwen |
|
| 664 | + 'plugin_info_plugins_dist_2' => 'Ze zijn niet te deactiveren.', |
|
| 665 | + 'plugin_info_telecharger' => 'om vanaf @url@ te downloaden en te plaatsen in @rep@', |
|
| 666 | + 'plugin_info_upgrade_ok' => ' Update geslaagd', |
|
| 667 | + 'plugin_librairies_installees' => 'Geïnstalleerde bibliotheken', |
|
| 668 | + 'plugin_necessite_extension_php' => 'De PHP-extensie @plugin@ is benodigd in versie @version@.', |
|
| 669 | + 'plugin_necessite_extension_php_sans_version' => 'Benodigde PHP-extensie: @plugin@', |
|
| 670 | + 'plugin_necessite_lib' => 'Deze plugin vereist de library @lib@', |
|
| 671 | + 'plugin_necessite_php' => 'Vereist @plugin@ in versie @version@.', |
|
| 672 | + 'plugin_necessite_plugin' => 'Vereist plugin @plugin@ met minimale versie @version@.', |
|
| 673 | + 'plugin_necessite_plugin_sans_version' => 'Vereist plugin @plugin@ ', |
|
| 674 | + 'plugin_necessite_spip' => 'Vereist SPIP in minimale versie @version@.', |
|
| 675 | + 'plugin_source' => 'bron: ', |
|
| 676 | + 'plugin_titre_automatique' => 'Automatische installatie', |
|
| 677 | + 'plugin_titre_automatique_ajouter' => 'Een plugin toevoegen', |
|
| 678 | + 'plugin_titre_installation' => 'Het installeren van plugin @plugin@', |
|
| 679 | + 'plugin_titre_modifier' => 'Mijn plugins', |
|
| 680 | + 'plugin_utilise_extension_php' => 'Gebruik de PHP-extensie @plugin@ in versie @version@.', # MODIF |
|
| 681 | + 'plugin_utilise_php' => 'Gebruikt @plugin@ in versie @version@.', # MODIF |
|
| 682 | + 'plugin_utilise_plugin' => 'Gebruikt plugin @plugin@ met versie @version@.', # MODIF |
|
| 683 | + 'plugin_zip_active' => 'Gaat door om het te activeren', |
|
| 684 | + 'plugin_zip_adresse' => 'geef hieronder het adres van een zipbestand om de plugin te downloaden, of het adres van een lijst van plugins.', |
|
| 685 | + 'plugin_zip_adresse_champ' => 'Adres van plugin of van de lijst ', |
|
| 686 | + 'plugin_zip_content' => 'Hij bevat de volgende bestanden (@taille@), <br/>klaar om in de map <code>@rep@</code> te worden geplaatst', |
|
| 687 | + 'plugin_zip_installe_finie' => 'Het bestand @zip@ is geunzipt en werd geplaatst.', |
|
| 688 | + 'plugin_zip_installe_rep_finie' => 'Het bestand @zip@ is geunzipt en werd in de map @rep@ geplaatst', |
|
| 689 | + 'plugin_zip_installer' => 'Je kunt hem nu installeren.', |
|
| 690 | + 'plugin_zip_telecharge' => 'Het bestand @zip@ werd geladen', |
|
| 691 | + 'plugins_actif_aucun' => 'Geen plugins ingeschakeld.', |
|
| 692 | + 'plugins_actif_un' => 'Eén plugin is ingeschakeld.', |
|
| 693 | + 'plugins_actifs' => '@count@ plugins activeren.', |
|
| 694 | + 'plugins_actifs_liste' => 'Actief', |
|
| 695 | + 'plugins_compte' => '@count@ plugins', |
|
| 696 | + 'plugins_disponible_un' => 'Eén plugin beschikbaar.', |
|
| 697 | + 'plugins_disponibles' => '@count@ plugins beschikbaar.', |
|
| 698 | + 'plugins_erreur' => 'De fout in plugins: @plugins@', |
|
| 699 | + 'plugins_liste' => 'Lijst van plugins', |
|
| 700 | + 'plugins_liste_dist' => 'Vergrendelde plugins', # "locked" in english |
|
| 701 | + 'plugins_recents' => 'Recente plugins.', |
|
| 702 | + 'plugins_tous_liste' => 'Alle', |
|
| 703 | + 'plugins_vue_hierarchie' => 'Hiërarchie', |
|
| 704 | + 'plugins_vue_liste' => 'Lijst', |
|
| 705 | + 'protocole_ldap' => 'De versie van het protocol:', |
|
| 706 | 706 | |
| 707 | - // Q |
|
| 708 | - 'queue_executer_maintenant' => 'Nu uitvoeren', |
|
| 709 | - 'queue_info_purger' => 'Je kunt alle wachtende taken verwijderen en de lijst van periodieke taken herstarten', # MODIF |
|
| 710 | - 'queue_nb_jobs_in_queue' => '@nb@ wachtrij', # MODIF |
|
| 711 | - 'queue_next_job_in_nb_sec' => 'Volgende opdracht in @nb@ sec', # MODIF |
|
| 712 | - 'queue_no_job_in_queue' => 'Geen opdracht in de wachtrij', # MODIF |
|
| 713 | - 'queue_one_job_in_queue' => '1 taak in wachtrij', # MODIF |
|
| 714 | - 'queue_priorite_tache' => 'prioriteit', |
|
| 715 | - 'queue_purger_queue' => 'De takenlijst leegmaken', # MODIF |
|
| 716 | - 'queue_titre' => 'Lijst van taken', # MODIF |
|
| 707 | + // Q |
|
| 708 | + 'queue_executer_maintenant' => 'Nu uitvoeren', |
|
| 709 | + 'queue_info_purger' => 'Je kunt alle wachtende taken verwijderen en de lijst van periodieke taken herstarten', # MODIF |
|
| 710 | + 'queue_nb_jobs_in_queue' => '@nb@ wachtrij', # MODIF |
|
| 711 | + 'queue_next_job_in_nb_sec' => 'Volgende opdracht in @nb@ sec', # MODIF |
|
| 712 | + 'queue_no_job_in_queue' => 'Geen opdracht in de wachtrij', # MODIF |
|
| 713 | + 'queue_one_job_in_queue' => '1 taak in wachtrij', # MODIF |
|
| 714 | + 'queue_priorite_tache' => 'prioriteit', |
|
| 715 | + 'queue_purger_queue' => 'De takenlijst leegmaken', # MODIF |
|
| 716 | + 'queue_titre' => 'Lijst van taken', # MODIF |
|
| 717 | 717 | |
| 718 | - // R |
|
| 719 | - 'repertoire_plugins' => 'Map:', |
|
| 720 | - 'required' => '(verplicht)', # MODIF |
|
| 718 | + // R |
|
| 719 | + 'repertoire_plugins' => 'Map:', |
|
| 720 | + 'required' => '(verplicht)', # MODIF |
|
| 721 | 721 | |
| 722 | - // S |
|
| 723 | - 'sans_heure' => 'zonder tijdstip', |
|
| 724 | - 'statut_admin_restreint' => 'beperkte beheerder', |
|
| 725 | - 'statut_webmestre' => 'webmaster', |
|
| 722 | + // S |
|
| 723 | + 'sans_heure' => 'zonder tijdstip', |
|
| 724 | + 'statut_admin_restreint' => 'beperkte beheerder', |
|
| 725 | + 'statut_webmestre' => 'webmaster', |
|
| 726 | 726 | |
| 727 | - // T |
|
| 728 | - 'tache_cron_asap' => 'CRON taak @function@ (ASAP)', |
|
| 729 | - 'tache_cron_secondes' => 'CRON taak @function@ (om de @nb@ sec)', |
|
| 730 | - 'taille_cache_image' => 'De door SPIP automatisch aangemaakte afbeeldingen (icoontjes van documenten, grafisch weergegeven titels, wiskundige functies in TeX formaat...) nemen in map @dir@ in totaal @taille@ in.', |
|
| 731 | - 'taille_cache_infinie' => 'De site voorziet geen beperking in de grootte van de buffermap.', |
|
| 732 | - 'taille_cache_maxi' => 'SPIP probeert de omvang van de buffermap van de site te beperken tot ongeveer <b>@octets@</b> gegevens.', |
|
| 733 | - 'taille_cache_moins_de' => 'De cache is kleiner dan @octets@.', |
|
| 734 | - 'taille_cache_octets' => 'De grootte van de buffer bedraagt momenteel @octets@.', |
|
| 735 | - 'taille_cache_vide' => 'De buffer is leeg.', |
|
| 736 | - 'taille_repertoire_cache' => 'Grootte van het bufferbestand', |
|
| 737 | - 'text_article_propose_publication' => 'Artikel voorgesteld voor publicatie.', |
|
| 738 | - 'texte_acces_ldap_anonyme_1' => 'Sommige LDAP-servers aanvaarden geen anonieme toegang. In zo’n geval dien je één loginnaam op te geven om vervolgens informatie in het adressenboek te zoeken. In de meeste gevallen kan je de volgende velden echter leeg laten.', |
|
| 739 | - 'texte_admin_effacer_01' => 'Met dit commando vernietig je de <i>volledige</i> inhoud van de database, |
|
| 727 | + // T |
|
| 728 | + 'tache_cron_asap' => 'CRON taak @function@ (ASAP)', |
|
| 729 | + 'tache_cron_secondes' => 'CRON taak @function@ (om de @nb@ sec)', |
|
| 730 | + 'taille_cache_image' => 'De door SPIP automatisch aangemaakte afbeeldingen (icoontjes van documenten, grafisch weergegeven titels, wiskundige functies in TeX formaat...) nemen in map @dir@ in totaal @taille@ in.', |
|
| 731 | + 'taille_cache_infinie' => 'De site voorziet geen beperking in de grootte van de buffermap.', |
|
| 732 | + 'taille_cache_maxi' => 'SPIP probeert de omvang van de buffermap van de site te beperken tot ongeveer <b>@octets@</b> gegevens.', |
|
| 733 | + 'taille_cache_moins_de' => 'De cache is kleiner dan @octets@.', |
|
| 734 | + 'taille_cache_octets' => 'De grootte van de buffer bedraagt momenteel @octets@.', |
|
| 735 | + 'taille_cache_vide' => 'De buffer is leeg.', |
|
| 736 | + 'taille_repertoire_cache' => 'Grootte van het bufferbestand', |
|
| 737 | + 'text_article_propose_publication' => 'Artikel voorgesteld voor publicatie.', |
|
| 738 | + 'texte_acces_ldap_anonyme_1' => 'Sommige LDAP-servers aanvaarden geen anonieme toegang. In zo’n geval dien je één loginnaam op te geven om vervolgens informatie in het adressenboek te zoeken. In de meeste gevallen kan je de volgende velden echter leeg laten.', |
|
| 739 | + 'texte_admin_effacer_01' => 'Met dit commando vernietig je de <i>volledige</i> inhoud van de database, |
|
| 740 | 740 | inbegrepen <i>alle</i> toegangsrechten voor redacteurs en beheerders. Nadat je dit uitgevoerd hebt, dien je de herinstallatie van SPIP te starten om een volledig nieuwe database aan te maken met toegangsrechten voor een eerste beheerder.', |
| 741 | - 'texte_adresse_annuaire_1' => '(Als de map geïnstalleerd is op dezelfde computer als je website, is het waarschijnlijk «localhost».)', |
|
| 742 | - 'texte_ajout_auteur' => 'Deze auteur werd aan het artikel toegevoegd:', |
|
| 743 | - 'texte_annuaire_ldap_1' => 'Als je toegang hebt tot een LDAP-adresboek, kan je dit gebruiken om automatisch gebruikers in te voeren in SPIP.', |
|
| 744 | - 'texte_article_statut' => 'Dit artikel is:', |
|
| 745 | - 'texte_article_virtuel' => 'Virtueel artikel', |
|
| 746 | - 'texte_article_virtuel_reference' => '<b>Virtueel artikel:</b> gekoppeld artikel in je SPIP site maar doorgestuurd naar een andere URL. Verwijder de URL om de doorverwijzing te stoppen.', |
|
| 747 | - 'texte_aucun_resultat_auteur' => 'Geen resultaat voor "@cherche_auteur@"', |
|
| 748 | - 'texte_auteur_messagerie' => 'Deze website kan een lijst met auteurs die op dat moment aangelogd zijn, tonen. Het is mogelijk om direkt berichten opsturen en ontvangen tussen de auteurs. Je kan kiezen om niet in deze lijst te verschijnen (je wordt dan « onzichtbaar » voor de andere gebruikers).', |
|
| 749 | - 'texte_auteurs' => 'DE AUTEURS', |
|
| 750 | - 'texte_choix_base_1' => 'Kies je database:', |
|
| 751 | - 'texte_choix_base_2' => 'De SQL server bevat meerdere databases.', |
|
| 752 | - 'texte_choix_base_3' => '<b>Kies</b> hierna die welke door jouw provider werd toegekend:', |
|
| 753 | - 'texte_choix_table_prefix' => 'Voorvoegsel van de tabellen:', |
|
| 754 | - 'texte_compte_element' => '@count@ element', |
|
| 755 | - 'texte_compte_elements' => '@count@ elementen', |
|
| 756 | - 'texte_conflit_edition_correction' => 'Controleer hieronder de verschillen tussen beide versies van de tekst; je kunt eveneens jouw wijzigingen kopiëren en opnieuw beginnen.', |
|
| 757 | - 'texte_connexion_mysql' => 'Raadpleegt de inlichtingen die door jouw provider worden verstrekt: je moet er de databaseserver vinden die men voorstelt en jouw persoonlijke identificaties om je erop aan te melden.', |
|
| 758 | - 'texte_contenu_article' => '(Inhoud van het artikel in enkele woorden.)', |
|
| 759 | - 'texte_contenu_articles' => 'Naargelang de opmaak van je website kan je beslissen sommige elementen van een artikel |
|
| 741 | + 'texte_adresse_annuaire_1' => '(Als de map geïnstalleerd is op dezelfde computer als je website, is het waarschijnlijk «localhost».)', |
|
| 742 | + 'texte_ajout_auteur' => 'Deze auteur werd aan het artikel toegevoegd:', |
|
| 743 | + 'texte_annuaire_ldap_1' => 'Als je toegang hebt tot een LDAP-adresboek, kan je dit gebruiken om automatisch gebruikers in te voeren in SPIP.', |
|
| 744 | + 'texte_article_statut' => 'Dit artikel is:', |
|
| 745 | + 'texte_article_virtuel' => 'Virtueel artikel', |
|
| 746 | + 'texte_article_virtuel_reference' => '<b>Virtueel artikel:</b> gekoppeld artikel in je SPIP site maar doorgestuurd naar een andere URL. Verwijder de URL om de doorverwijzing te stoppen.', |
|
| 747 | + 'texte_aucun_resultat_auteur' => 'Geen resultaat voor "@cherche_auteur@"', |
|
| 748 | + 'texte_auteur_messagerie' => 'Deze website kan een lijst met auteurs die op dat moment aangelogd zijn, tonen. Het is mogelijk om direkt berichten opsturen en ontvangen tussen de auteurs. Je kan kiezen om niet in deze lijst te verschijnen (je wordt dan « onzichtbaar » voor de andere gebruikers).', |
|
| 749 | + 'texte_auteurs' => 'DE AUTEURS', |
|
| 750 | + 'texte_choix_base_1' => 'Kies je database:', |
|
| 751 | + 'texte_choix_base_2' => 'De SQL server bevat meerdere databases.', |
|
| 752 | + 'texte_choix_base_3' => '<b>Kies</b> hierna die welke door jouw provider werd toegekend:', |
|
| 753 | + 'texte_choix_table_prefix' => 'Voorvoegsel van de tabellen:', |
|
| 754 | + 'texte_compte_element' => '@count@ element', |
|
| 755 | + 'texte_compte_elements' => '@count@ elementen', |
|
| 756 | + 'texte_conflit_edition_correction' => 'Controleer hieronder de verschillen tussen beide versies van de tekst; je kunt eveneens jouw wijzigingen kopiëren en opnieuw beginnen.', |
|
| 757 | + 'texte_connexion_mysql' => 'Raadpleegt de inlichtingen die door jouw provider worden verstrekt: je moet er de databaseserver vinden die men voorstelt en jouw persoonlijke identificaties om je erop aan te melden.', |
|
| 758 | + 'texte_contenu_article' => '(Inhoud van het artikel in enkele woorden.)', |
|
| 759 | + 'texte_contenu_articles' => 'Naargelang de opmaak van je website kan je beslissen sommige elementen van een artikel |
|
| 760 | 760 | wel of niet te gebruiken. |
| 761 | 761 | Geef op de lijst hieronder aan welke elementen je wil gebruiken.', |
| 762 | - 'texte_crash_base' => 'Als je database gecrashed is, |
|
| 762 | + 'texte_crash_base' => 'Als je database gecrashed is, |
|
| 763 | 763 | kan je een automatisch herstel proberen.', |
| 764 | - 'texte_creer_rubrique' => 'Alvorens artikelen te kunnen schrijven, <br/> moet je een rubriek aanmaken.', |
|
| 765 | - 'texte_date_creation_article' => 'DATUM VAN AANMAKEN VAN HET ARTIKEL:', |
|
| 766 | - 'texte_date_creation_objet' => 'Aanmaakdatum:', # on ajoute le ":" |
|
| 767 | - 'texte_date_publication_anterieure' => 'Datum van eerdere redactie:', |
|
| 768 | - 'texte_date_publication_anterieure_nonaffichee' => 'Verberg de datum van eerdere redactie.', |
|
| 769 | - 'texte_date_publication_article' => 'DATUM VAN ONLINE PUBLICATIE:', |
|
| 770 | - 'texte_date_publication_objet' => 'Datum van online publicatie:', |
|
| 771 | - 'texte_definir_comme_traduction_rubrique' => 'Deze rubriek is een vertaling van rubrieknummer:', |
|
| 772 | - 'texte_descriptif_rapide' => 'Korte beschrijving.', |
|
| 773 | - 'texte_effacer_base' => 'Verwijder de SPIP database', |
|
| 774 | - 'texte_effacer_statistiques' => 'De statistieken wissen', |
|
| 775 | - 'texte_en_cours_validation' => 'De onderstaande inhoud wacht op goedkeuring.', |
|
| 776 | - 'texte_enrichir_mise_a_jour' => 'De opmaak van een tekst kan gebeuren met behulp van zogeheten «typografische snelkoppelingen».', |
|
| 777 | - 'texte_fichier_authent' => 'SPIP moet er dan speciale bestanden <tt>.htpasswd</tt> |
|
| 764 | + 'texte_creer_rubrique' => 'Alvorens artikelen te kunnen schrijven, <br/> moet je een rubriek aanmaken.', |
|
| 765 | + 'texte_date_creation_article' => 'DATUM VAN AANMAKEN VAN HET ARTIKEL:', |
|
| 766 | + 'texte_date_creation_objet' => 'Aanmaakdatum:', # on ajoute le ":" |
|
| 767 | + 'texte_date_publication_anterieure' => 'Datum van eerdere redactie:', |
|
| 768 | + 'texte_date_publication_anterieure_nonaffichee' => 'Verberg de datum van eerdere redactie.', |
|
| 769 | + 'texte_date_publication_article' => 'DATUM VAN ONLINE PUBLICATIE:', |
|
| 770 | + 'texte_date_publication_objet' => 'Datum van online publicatie:', |
|
| 771 | + 'texte_definir_comme_traduction_rubrique' => 'Deze rubriek is een vertaling van rubrieknummer:', |
|
| 772 | + 'texte_descriptif_rapide' => 'Korte beschrijving.', |
|
| 773 | + 'texte_effacer_base' => 'Verwijder de SPIP database', |
|
| 774 | + 'texte_effacer_statistiques' => 'De statistieken wissen', |
|
| 775 | + 'texte_en_cours_validation' => 'De onderstaande inhoud wacht op goedkeuring.', |
|
| 776 | + 'texte_enrichir_mise_a_jour' => 'De opmaak van een tekst kan gebeuren met behulp van zogeheten «typografische snelkoppelingen».', |
|
| 777 | + 'texte_fichier_authent' => 'SPIP moet er dan speciale bestanden <tt>.htpasswd</tt> |
|
| 778 | 778 | en <tt>.htpasswd-admin</tt> in de directory @dossier@ ?</b><p> |
| 779 | 779 | Deze bestanden die je kunt gebruiken om toegang te beperken tot |
| 780 | 780 | auteurs en beheerders in andere delen van je site |
| 781 | 781 | (externe programma statistieken, bijvoorbeeld).</p><p> |
| 782 | 782 | Als dit geen geen nut heeft, kunt je de standaard instellingen behouden (geen nieuw bestand maken).</p>', |
| 783 | - 'texte_informations_personnelles_1' => 'Nu zal het systeem een persoonlijke toegang tot de site voor je creëren.', |
|
| 784 | - 'texte_informations_personnelles_2' => '(Nota: als het een herinstallatie betreft en je toegangscode blijkt nog steeds te werken, kan je', |
|
| 785 | - 'texte_introductif_article' => '(Inleidende tekst op het artikel.)', |
|
| 786 | - 'texte_jeu_caractere' => 'Het is aan te raden op je site het universele alfabet (<tt>utf-8</tt>) te gebruiken: dit laat de weergave van teksten toe in alle talen en stelt geen compatibilieitsprobleem met de recente browsers.', |
|
| 787 | - 'texte_jeu_caractere_3' => 'Je site is momenteel geïnstalleerd in deze tekenset:', |
|
| 788 | - 'texte_jeu_caractere_4' => 'Indien dit niet overeenkomt met je werkelijke gegevens (bvb bij het terugzetten van je database), of als je <em>deze site opstart</em> en met een andere tekenset van start wil gaan, geef dat dan hieronder aan:', |
|
| 789 | - 'texte_login_ldap_1' => '(Leeg laten voor een anonieme login, of een volledig pad invullen, bijvoorbeeld «<tt>uid=janssen, ou=users, dc=mijn-domein, dc=com</tt>».)', |
|
| 790 | - 'texte_login_precaution' => 'LET OP! Met deze login ben je momenteel aangemeld. |
|
| 783 | + 'texte_informations_personnelles_1' => 'Nu zal het systeem een persoonlijke toegang tot de site voor je creëren.', |
|
| 784 | + 'texte_informations_personnelles_2' => '(Nota: als het een herinstallatie betreft en je toegangscode blijkt nog steeds te werken, kan je', |
|
| 785 | + 'texte_introductif_article' => '(Inleidende tekst op het artikel.)', |
|
| 786 | + 'texte_jeu_caractere' => 'Het is aan te raden op je site het universele alfabet (<tt>utf-8</tt>) te gebruiken: dit laat de weergave van teksten toe in alle talen en stelt geen compatibilieitsprobleem met de recente browsers.', |
|
| 787 | + 'texte_jeu_caractere_3' => 'Je site is momenteel geïnstalleerd in deze tekenset:', |
|
| 788 | + 'texte_jeu_caractere_4' => 'Indien dit niet overeenkomt met je werkelijke gegevens (bvb bij het terugzetten van je database), of als je <em>deze site opstart</em> en met een andere tekenset van start wil gaan, geef dat dan hieronder aan:', |
|
| 789 | + 'texte_login_ldap_1' => '(Leeg laten voor een anonieme login, of een volledig pad invullen, bijvoorbeeld «<tt>uid=janssen, ou=users, dc=mijn-domein, dc=com</tt>».)', |
|
| 790 | + 'texte_login_precaution' => 'LET OP! Met deze login ben je momenteel aangemeld. |
|
| 791 | 791 | Gebruik dit formulier met de nodige voorzichtigheid...', |
| 792 | - 'texte_messagerie_agenda' => 'Een berichtendienst maakt het de redacteuren van de site mogelijk om in de privé ruimte berichten uit te wisselen. De dienst is gekoppeld aan een agenda.', |
|
| 793 | - 'texte_mise_a_niveau_base_1' => 'Je hebt zonet de SPIP bestanden vernieuwd. Nu dien je |
|
| 792 | + 'texte_messagerie_agenda' => 'Een berichtendienst maakt het de redacteuren van de site mogelijk om in de privé ruimte berichten uit te wisselen. De dienst is gekoppeld aan een agenda.', |
|
| 793 | + 'texte_mise_a_niveau_base_1' => 'Je hebt zonet de SPIP bestanden vernieuwd. Nu dien je |
|
| 794 | 794 | eveneens de database te updaten.', |
| 795 | - 'texte_modifier_article' => 'Wijzigen artikel:', |
|
| 796 | - 'texte_multilinguisme' => 'Als je graag objecten in verschillende talen zou willen beheren, met een complexe navigatie, kan je een taalkeuzemenu toevoegen bij deze objecten, i.f.v de organisatie van je site.', |
|
| 797 | - 'texte_multilinguisme_trad' => 'Je kan eveneens een systeem in werking stellen voor het beheer van koppelingen tussen de verschillende vertalingen van de objecten.', |
|
| 798 | - 'texte_non_compresse' => '<i>niet gecomprimeerd</i> (de server ondersteunt deze functionaliteit niet)', |
|
| 799 | - 'texte_nouvelle_version_spip_1' => 'Je hebt een nieuwe versie van SPIP geïnstalleerd.', |
|
| 800 | - 'texte_nouvelle_version_spip_2' => 'Deze nieuwe SPIP-versie vereist een grondiger update dan gewoonlijk. Als je webmaster bent van deze site, verwijder dan het bestand @connect@ en hervat de installatie om de verbindingsgegevens met de database te vernieuwen.<p> (NB: als je de verbindingsgegevens niet meer kent, kan je best eerst een blik werpen op het bestand @connect@ alvorens het te verwijderen...)</p>', # Pas de modif trouvée, la trad reste valable. |
|
| 801 | - 'texte_operation_echec' => 'Ga terug naar de vorige pagina, selecteer een andere database of maak een nieuwe aan. Kijk nog eens alle gegevens na die je van je provider hebt ontvangen.', |
|
| 802 | - 'texte_plus_trois_car' => 'meer dan 3 karakters', |
|
| 803 | - 'texte_plusieurs_articles' => 'Meerdere auteurs gevonden voor "@cherche_auteur@":', |
|
| 804 | - 'texte_port_annuaire' => '(De opgegeven standaardwaarde is meestal de juiste.)', |
|
| 805 | - 'texte_presente_plugin' => 'Deze pagina toont de lijst van beschikbare plugins op deze site. Je kan de nodige plugins activeren door het overeenkomstige vakje aan te kruisen.', |
|
| 806 | - 'texte_proposer_publication' => 'Wanneer je artikel gereed is, <br />kun je de publicatie ervan voorstellen.', |
|
| 807 | - 'texte_proxy' => 'In bepaalde gevallen (intranet, beschermde netwerken), zijn de verwijderde plaatsen (SPIP documentatie , georganiseerde plaatsen, enz.) toegankelijk slechts door een <i>proxy HTTP</i>. Eventueel geeft hieronder zijn adres aan, onder de vorm @proxy_in_actie@. Over het algemeen zul je dit hokje leeg laten.', |
|
| 808 | - 'texte_publication_articles_post_dates' => 'Hoe dient SPIP zich op te stellen ten opzichte van artikelen waarvan de |
|
| 795 | + 'texte_modifier_article' => 'Wijzigen artikel:', |
|
| 796 | + 'texte_multilinguisme' => 'Als je graag objecten in verschillende talen zou willen beheren, met een complexe navigatie, kan je een taalkeuzemenu toevoegen bij deze objecten, i.f.v de organisatie van je site.', |
|
| 797 | + 'texte_multilinguisme_trad' => 'Je kan eveneens een systeem in werking stellen voor het beheer van koppelingen tussen de verschillende vertalingen van de objecten.', |
|
| 798 | + 'texte_non_compresse' => '<i>niet gecomprimeerd</i> (de server ondersteunt deze functionaliteit niet)', |
|
| 799 | + 'texte_nouvelle_version_spip_1' => 'Je hebt een nieuwe versie van SPIP geïnstalleerd.', |
|
| 800 | + 'texte_nouvelle_version_spip_2' => 'Deze nieuwe SPIP-versie vereist een grondiger update dan gewoonlijk. Als je webmaster bent van deze site, verwijder dan het bestand @connect@ en hervat de installatie om de verbindingsgegevens met de database te vernieuwen.<p> (NB: als je de verbindingsgegevens niet meer kent, kan je best eerst een blik werpen op het bestand @connect@ alvorens het te verwijderen...)</p>', # Pas de modif trouvée, la trad reste valable. |
|
| 801 | + 'texte_operation_echec' => 'Ga terug naar de vorige pagina, selecteer een andere database of maak een nieuwe aan. Kijk nog eens alle gegevens na die je van je provider hebt ontvangen.', |
|
| 802 | + 'texte_plus_trois_car' => 'meer dan 3 karakters', |
|
| 803 | + 'texte_plusieurs_articles' => 'Meerdere auteurs gevonden voor "@cherche_auteur@":', |
|
| 804 | + 'texte_port_annuaire' => '(De opgegeven standaardwaarde is meestal de juiste.)', |
|
| 805 | + 'texte_presente_plugin' => 'Deze pagina toont de lijst van beschikbare plugins op deze site. Je kan de nodige plugins activeren door het overeenkomstige vakje aan te kruisen.', |
|
| 806 | + 'texte_proposer_publication' => 'Wanneer je artikel gereed is, <br />kun je de publicatie ervan voorstellen.', |
|
| 807 | + 'texte_proxy' => 'In bepaalde gevallen (intranet, beschermde netwerken), zijn de verwijderde plaatsen (SPIP documentatie , georganiseerde plaatsen, enz.) toegankelijk slechts door een <i>proxy HTTP</i>. Eventueel geeft hieronder zijn adres aan, onder de vorm @proxy_in_actie@. Over het algemeen zul je dit hokje leeg laten.', |
|
| 808 | + 'texte_publication_articles_post_dates' => 'Hoe dient SPIP zich op te stellen ten opzichte van artikelen waarvan de |
|
| 809 | 809 | publicatiedatum is vastgelegd op een |
| 810 | 810 | toekomstige datum?', |
| 811 | - 'texte_rappel_selection_champs' => '[Vergeet niet de juiste keuze te maken voor dit veld.]', |
|
| 812 | - 'texte_recalcul_page' => 'Als je slechts één pagina wilt vernieuwen, doe je dit op de publieke site met de knop «vernieuwen».', |
|
| 813 | - 'texte_recuperer_base' => 'De database herstellen', |
|
| 814 | - 'texte_reference_mais_redirige' => 'Gekoppeld artikel in je SPIP site, maar doorgestuurd naar een andere URL.', |
|
| 815 | - 'texte_requetes_echouent' => '<b>Wanneer bepaalde SQL-query’s systematisch crashen zonder duidelijke reden, is dit mogelijk te wijten aan de database zelf.</b><p> Je SQL Server heeft een herstelmogelijkheid van tabellen die beschadigd zijn door een crash. Hier kunt je proberen dit te repareren. Wanneer dat niet lukt, bewaar dan een kopie van het scherm dat aanwijzingen over de problemen bevat...</p><p>Als het probleem zich blijft voordoen, contact opnemen met je provider.</p>', |
|
| 816 | - 'texte_selection_langue_principale' => 'Hieronder kan je de «basistaal» van de site kiezen. Deze keuze verplicht je - gelukkig! - niet om artikelen in deze taal te schrijven, maar laat wel toe om het volgende te bepalen: |
|
| 811 | + 'texte_rappel_selection_champs' => '[Vergeet niet de juiste keuze te maken voor dit veld.]', |
|
| 812 | + 'texte_recalcul_page' => 'Als je slechts één pagina wilt vernieuwen, doe je dit op de publieke site met de knop «vernieuwen».', |
|
| 813 | + 'texte_recuperer_base' => 'De database herstellen', |
|
| 814 | + 'texte_reference_mais_redirige' => 'Gekoppeld artikel in je SPIP site, maar doorgestuurd naar een andere URL.', |
|
| 815 | + 'texte_requetes_echouent' => '<b>Wanneer bepaalde SQL-query’s systematisch crashen zonder duidelijke reden, is dit mogelijk te wijten aan de database zelf.</b><p> Je SQL Server heeft een herstelmogelijkheid van tabellen die beschadigd zijn door een crash. Hier kunt je proberen dit te repareren. Wanneer dat niet lukt, bewaar dan een kopie van het scherm dat aanwijzingen over de problemen bevat...</p><p>Als het probleem zich blijft voordoen, contact opnemen met je provider.</p>', |
|
| 816 | + 'texte_selection_langue_principale' => 'Hieronder kan je de «basistaal» van de site kiezen. Deze keuze verplicht je - gelukkig! - niet om artikelen in deze taal te schrijven, maar laat wel toe om het volgende te bepalen: |
|
| 817 | 817 | <ul><li> het standaardformaat van de data op de publieke site;</li> |
| 818 | 818 | <li> de aard van de typografische motor die SPIP dient te gebruiken om teksten te tonen;</li> |
| 819 | 819 | <li> de taal die gebruikt moet worden op de formulieren van de publieke site;</li> |
| 820 | 820 | <li> de taal die standaard wordt voorgesteld in het privé-gedeelte.</li></ul>', |
| 821 | - 'texte_sous_titre' => 'Ondertitel', |
|
| 822 | - 'texte_statistiques_visites' => '(donkere balkjes: zondag / donkere lijn: evolutie van het gemiddelde)', |
|
| 823 | - 'texte_statut_attente_validation' => 'wachten op goedkeuring', |
|
| 824 | - 'texte_statut_publies' => 'online geplaatst', |
|
| 825 | - 'texte_statut_refuses' => 'geweigerd', |
|
| 826 | - 'texte_suppression_fichiers' => 'Gebruik dit commando om alle bestanden uit de buffer (cache) te verwijderen. |
|
| 821 | + 'texte_sous_titre' => 'Ondertitel', |
|
| 822 | + 'texte_statistiques_visites' => '(donkere balkjes: zondag / donkere lijn: evolutie van het gemiddelde)', |
|
| 823 | + 'texte_statut_attente_validation' => 'wachten op goedkeuring', |
|
| 824 | + 'texte_statut_publies' => 'online geplaatst', |
|
| 825 | + 'texte_statut_refuses' => 'geweigerd', |
|
| 826 | + 'texte_suppression_fichiers' => 'Gebruik dit commando om alle bestanden uit de buffer (cache) te verwijderen. |
|
| 827 | 827 | Dit kan handig zijn als je veel pagina’s hebt gewijzigd, de layout of de structuur van de site hebt veranderd. |
| 828 | 828 | De nieuwste pagina’s worden dan getoond en de buffer wordt opnieuw opgebouwd.', |
| 829 | - 'texte_sur_titre' => 'Opschrift', |
|
| 830 | - 'texte_table_ok' => ': deze tabel is OK.', |
|
| 831 | - 'texte_tentative_recuperation' => 'Poging tot herstel.', |
|
| 832 | - 'texte_tenter_reparation' => 'Poging tot herstel van de database', |
|
| 833 | - 'texte_test_proxy' => 'Om de proxy te testen kan je hier het adres geven van de website die je wil bereiken.', |
|
| 834 | - 'texte_titre_02' => 'Titel:', |
|
| 835 | - 'texte_titre_obligatoire' => '<b>Titel</b> [verplicht]', |
|
| 836 | - 'texte_travail_article' => '@nom_auteur_modif@ heeft @date_diff@ minuten geleden aan dit artikel gewerkt', |
|
| 837 | - 'texte_travail_collaboratif' => 'Als het vaak gebeurt dat meerdere redacteurs aanhetzelfde artikel werken, kan het systeem tonen welke artikelen er recent «geopend» werden |
|
| 829 | + 'texte_sur_titre' => 'Opschrift', |
|
| 830 | + 'texte_table_ok' => ': deze tabel is OK.', |
|
| 831 | + 'texte_tentative_recuperation' => 'Poging tot herstel.', |
|
| 832 | + 'texte_tenter_reparation' => 'Poging tot herstel van de database', |
|
| 833 | + 'texte_test_proxy' => 'Om de proxy te testen kan je hier het adres geven van de website die je wil bereiken.', |
|
| 834 | + 'texte_titre_02' => 'Titel:', |
|
| 835 | + 'texte_titre_obligatoire' => '<b>Titel</b> [verplicht]', |
|
| 836 | + 'texte_travail_article' => '@nom_auteur_modif@ heeft @date_diff@ minuten geleden aan dit artikel gewerkt', |
|
| 837 | + 'texte_travail_collaboratif' => 'Als het vaak gebeurt dat meerdere redacteurs aanhetzelfde artikel werken, kan het systeem tonen welke artikelen er recent «geopend» werden |
|
| 838 | 838 | om te vermijden dat simultaan |
| 839 | 839 | wijzigingen worden aangebracht. |
| 840 | 840 | Deze optie is niet standaard geactiveerd om te vermijden dat er teveel waarschuwingsberichten op het |
| 841 | 841 | scherm verschijnen.', |
| 842 | - 'texte_vide' => 'leeg', |
|
| 843 | - 'texte_vider_cache' => 'Cache leegmaken', |
|
| 844 | - 'titre_admin_tech' => 'Technisch onderhoud', |
|
| 845 | - 'titre_admin_vider' => 'Technisch onderhoud', |
|
| 846 | - 'titre_ajouter_un_auteur' => 'Voeg een auteur toe', |
|
| 847 | - 'titre_ajouter_un_mot' => 'Voeg een trefwoord toe', |
|
| 848 | - 'titre_cadre_afficher_article' => 'Artikelen tonen', |
|
| 849 | - 'titre_cadre_afficher_traductions' => 'Toon de status van de vertalingen voor de volgende talen:', |
|
| 850 | - 'titre_cadre_ajouter_auteur' => 'EEN AUTEUR TOEVOEGEN:', |
|
| 851 | - 'titre_cadre_interieur_rubrique' => 'Binnen rubriek', |
|
| 852 | - 'titre_cadre_numero_auteur' => 'AUTEUR NUMMER', |
|
| 853 | - 'titre_cadre_numero_objet' => '@objet@ NUMMER:', |
|
| 854 | - 'titre_cadre_signature_obligatoire' => '<b>Handtekening</b> [Verplicht]<br />', |
|
| 855 | - 'titre_config_contenu_notifications' => 'Kennisgevingen', |
|
| 856 | - 'titre_config_contenu_prive' => 'In het privé gedeelte', |
|
| 857 | - 'titre_config_contenu_public' => 'Op de openbare site', |
|
| 858 | - 'titre_config_fonctions' => 'Configuratie van de site', |
|
| 859 | - 'titre_config_langage' => 'Stel de taal in', |
|
| 860 | - 'titre_configuration' => 'Configuratie van de site', |
|
| 861 | - 'titre_configurer_preferences' => 'Configureer je voorkeuren', |
|
| 862 | - 'titre_configurer_preferences_menus' => 'Configureer je menuvoorkeuren', |
|
| 863 | - 'titre_conflit_edition' => 'Conflict bij de uitgave', |
|
| 864 | - 'titre_connexion_ldap' => 'Opties: <b>Je LDAP-verbinding</b>', |
|
| 865 | - 'titre_groupe_mots' => 'TREFWOORDENGROEP:', |
|
| 866 | - 'titre_identite_site' => 'Identiteit van de site', |
|
| 867 | - 'titre_langue_article' => 'Taal van het artikel', |
|
| 868 | - 'titre_langue_rubrique' => 'Taal van de rubriek', |
|
| 869 | - 'titre_langue_trad_article' => 'TAAL EN VERTALINGEN VAN HET ARTIKEL', |
|
| 870 | - 'titre_les_articles' => 'ARTIKELEN', |
|
| 871 | - 'titre_messagerie_agenda' => 'Boodschappen en agenda', |
|
| 872 | - 'titre_naviguer_dans_le_site' => 'Bezoek de site...', |
|
| 873 | - 'titre_nouvelle_rubrique' => 'Nieuwe rubriek', |
|
| 874 | - 'titre_numero_rubrique' => 'RUBRIEKNUMMER:', |
|
| 875 | - 'titre_page_articles_edit' => 'Wijzigen: @titre@', |
|
| 876 | - 'titre_page_articles_page' => 'Artikelen', |
|
| 877 | - 'titre_page_articles_tous' => 'Volledige site', |
|
| 878 | - 'titre_page_calendrier' => 'Kalender @nom_mois@ @annee@', |
|
| 879 | - 'titre_page_config_contenu' => 'Websiteconfiguratie', |
|
| 880 | - 'titre_page_delete_all' => 'Volledige en onomkeerbare verwijdering', |
|
| 881 | - 'titre_page_recherche' => 'Zoekresultaat voor @recherche@ ', |
|
| 882 | - 'titre_page_statistiques_referers' => 'Statistieken (per referer)', |
|
| 883 | - 'titre_page_upgrade' => 'Bijwerken van SPIP', |
|
| 884 | - 'titre_preference_menus_favoris' => 'Favoriete menu’s', |
|
| 885 | - 'titre_publication_articles_post_dates' => 'Publicatie van postgedateerde artikelen', |
|
| 886 | - 'titre_reparation' => 'Herstel', |
|
| 887 | - 'titre_suivi_petition' => 'Opvolging van petities', |
|
| 888 | - 'tls_ldap' => 'Transport Layer Security:', |
|
| 889 | - 'trad_article_traduction' => 'Alle versies van dit artikel:', |
|
| 890 | - 'trad_delier' => 'Niet meer aan deze vertalingen koppelen', |
|
| 891 | - 'trad_lier' => 'Dit artikel is een vertaling van artikelnummer:', |
|
| 892 | - 'trad_new' => 'Een nieuwe vertaling schrijven', |
|
| 842 | + 'texte_vide' => 'leeg', |
|
| 843 | + 'texte_vider_cache' => 'Cache leegmaken', |
|
| 844 | + 'titre_admin_tech' => 'Technisch onderhoud', |
|
| 845 | + 'titre_admin_vider' => 'Technisch onderhoud', |
|
| 846 | + 'titre_ajouter_un_auteur' => 'Voeg een auteur toe', |
|
| 847 | + 'titre_ajouter_un_mot' => 'Voeg een trefwoord toe', |
|
| 848 | + 'titre_cadre_afficher_article' => 'Artikelen tonen', |
|
| 849 | + 'titre_cadre_afficher_traductions' => 'Toon de status van de vertalingen voor de volgende talen:', |
|
| 850 | + 'titre_cadre_ajouter_auteur' => 'EEN AUTEUR TOEVOEGEN:', |
|
| 851 | + 'titre_cadre_interieur_rubrique' => 'Binnen rubriek', |
|
| 852 | + 'titre_cadre_numero_auteur' => 'AUTEUR NUMMER', |
|
| 853 | + 'titre_cadre_numero_objet' => '@objet@ NUMMER:', |
|
| 854 | + 'titre_cadre_signature_obligatoire' => '<b>Handtekening</b> [Verplicht]<br />', |
|
| 855 | + 'titre_config_contenu_notifications' => 'Kennisgevingen', |
|
| 856 | + 'titre_config_contenu_prive' => 'In het privé gedeelte', |
|
| 857 | + 'titre_config_contenu_public' => 'Op de openbare site', |
|
| 858 | + 'titre_config_fonctions' => 'Configuratie van de site', |
|
| 859 | + 'titre_config_langage' => 'Stel de taal in', |
|
| 860 | + 'titre_configuration' => 'Configuratie van de site', |
|
| 861 | + 'titre_configurer_preferences' => 'Configureer je voorkeuren', |
|
| 862 | + 'titre_configurer_preferences_menus' => 'Configureer je menuvoorkeuren', |
|
| 863 | + 'titre_conflit_edition' => 'Conflict bij de uitgave', |
|
| 864 | + 'titre_connexion_ldap' => 'Opties: <b>Je LDAP-verbinding</b>', |
|
| 865 | + 'titre_groupe_mots' => 'TREFWOORDENGROEP:', |
|
| 866 | + 'titre_identite_site' => 'Identiteit van de site', |
|
| 867 | + 'titre_langue_article' => 'Taal van het artikel', |
|
| 868 | + 'titre_langue_rubrique' => 'Taal van de rubriek', |
|
| 869 | + 'titre_langue_trad_article' => 'TAAL EN VERTALINGEN VAN HET ARTIKEL', |
|
| 870 | + 'titre_les_articles' => 'ARTIKELEN', |
|
| 871 | + 'titre_messagerie_agenda' => 'Boodschappen en agenda', |
|
| 872 | + 'titre_naviguer_dans_le_site' => 'Bezoek de site...', |
|
| 873 | + 'titre_nouvelle_rubrique' => 'Nieuwe rubriek', |
|
| 874 | + 'titre_numero_rubrique' => 'RUBRIEKNUMMER:', |
|
| 875 | + 'titre_page_articles_edit' => 'Wijzigen: @titre@', |
|
| 876 | + 'titre_page_articles_page' => 'Artikelen', |
|
| 877 | + 'titre_page_articles_tous' => 'Volledige site', |
|
| 878 | + 'titre_page_calendrier' => 'Kalender @nom_mois@ @annee@', |
|
| 879 | + 'titre_page_config_contenu' => 'Websiteconfiguratie', |
|
| 880 | + 'titre_page_delete_all' => 'Volledige en onomkeerbare verwijdering', |
|
| 881 | + 'titre_page_recherche' => 'Zoekresultaat voor @recherche@ ', |
|
| 882 | + 'titre_page_statistiques_referers' => 'Statistieken (per referer)', |
|
| 883 | + 'titre_page_upgrade' => 'Bijwerken van SPIP', |
|
| 884 | + 'titre_preference_menus_favoris' => 'Favoriete menu’s', |
|
| 885 | + 'titre_publication_articles_post_dates' => 'Publicatie van postgedateerde artikelen', |
|
| 886 | + 'titre_reparation' => 'Herstel', |
|
| 887 | + 'titre_suivi_petition' => 'Opvolging van petities', |
|
| 888 | + 'tls_ldap' => 'Transport Layer Security:', |
|
| 889 | + 'trad_article_traduction' => 'Alle versies van dit artikel:', |
|
| 890 | + 'trad_delier' => 'Niet meer aan deze vertalingen koppelen', |
|
| 891 | + 'trad_lier' => 'Dit artikel is een vertaling van artikelnummer:', |
|
| 892 | + 'trad_new' => 'Een nieuwe vertaling schrijven', |
|
| 893 | 893 | |
| 894 | - // U |
|
| 895 | - 'utf8_convert_erreur_orig' => 'Fout : de karakterset @charset@ wordt niet ondersteund.', |
|
| 894 | + // U |
|
| 895 | + 'utf8_convert_erreur_orig' => 'Fout : de karakterset @charset@ wordt niet ondersteund.', |
|
| 896 | 896 | |
| 897 | - // V |
|
| 898 | - 'version' => 'Versie:' |
|
| 897 | + // V |
|
| 898 | + 'version' => 'Versie:' |
|
| 899 | 899 | ); |