From 7c52aedb3c17f12b8793aa451652db0296d9d105 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Thu, 4 Sep 2003 22:18:25 +0000 Subject: [PATCH] notation <<toto>> pour les traductions depuis les fichiers lang/local_xx.php3 --- ecrire/inc_lang.php3 | 5 ++- ecrire/lang/spip_it.php3 | 47 ++++++++++++++++++++----- inc-calcul-squel.php3 | 74 ++++++++++++++++++++++------------------ login-dist.html | 4 +-- 4 files changed, 85 insertions(+), 45 deletions(-) diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3 index 59cd099fe3..f1d88a7d0d 100644 --- a/ecrire/inc_lang.php3 +++ b/ecrire/inc_lang.php3 @@ -64,7 +64,10 @@ function charger_langue($lang, $module = 'spip', $forcer = false) { // si le fichier de langue du module n'existe pas, on se rabat sur // le francais, qui *par definition* doit exister, et on copie le // tableau 'fr' dans la var liee a la langue - include_ecrire ('lang/'.$module.'_fr.php3'); + $fichier_lang = 'lang/'.$module.'_fr.php3'; + if (file_exists($dir_ecrire.$fichier_lang)) { + include_ecrire ($fichier_lang); + } $GLOBALS['i18n_'.$module.'_'.$lang] = $GLOBALS['i18n_'.$module.'_fr']; } diff --git a/ecrire/lang/spip_it.php3 b/ecrire/lang/spip_it.php3 index 816ca861cb..652fff1d4a 100644 --- a/ecrire/lang/spip_it.php3 +++ b/ecrire/lang/spip_it.php3 @@ -48,7 +48,7 @@ $GLOBALS['i18n_spip_it'] = array( 'avis_erreur_fonction_contexte' => 'Errore di programmazione. Questa funzione non avrebbe dovuto essere chiamata in questo contesto.', 'avis_erreur_mysql' => 'Errore MySQL ', 'avis_erreur_sauvegarde' => 'Errore nel salvataggio (@type@ @id_objet@)! ', -'avis_erreur_version_archive' => '<B>Attenzione! Il file @archive@ corrisponde ad +'avis_erreur_version_archive' => '<MODIF> <B>Attenzione! Il file @archive@ corrisponde ad una versione di SPIP diversa da quella installata.</b> Potranno sorgere dei problemi: rischio di distruzione del database, malfunzionamenti diversi del sito, etc. @@ -188,6 +188,11 @@ non è riconosciuto da tutti i browser.', 'dirs_commencer' => ' per iniziare realmente l\'installazione', 'dirs_preliminaire' => 'Prima di iniziare: <B>impostare i diritti di accesso</b>', 'dirs_probleme_droits' => '<b>Problema nei diritti di accesso</b>', +'dirs_repertoires_absents' => '<B>Le seguenti cartelle non sono state trovate: <ul>@bad_dirs@.</ul> </B> + <P>Probabilmente ciò è dovuto ad un\'errata formattazione delle lettere maiuscole o minuscole. + Verifica che le minuscole e le maiuscole delle cartelle coincidano con quelle visualizzate + qui sopra; se non è così, rinomina le cartelle utilizzando il tuo software FTP. + <P>Una volta effettuata questa correzione, potrai ', 'dirs_repertoires_suivants' => '<B>Le seguenti cartelle non sono accessibili in scrittura: <ul>@bad_dirs@.</ul></b> <P>Utilizza un client FTP o un comando di shell [chmod] per impostare i diritti di accesso di ciascuna di queste cartelle. La procedura è spiegata in dettaglio nella guida di installazione. @@ -517,7 +522,7 @@ immagini inserite. Ciò permette ad esempio di creare in automatico una ga 'info_contenu_articles' => 'Contentuto degli articoli', 'info_contribution' => 'contributi dei forum', 'info_copyright' => 'è un software libero distribuito <a href=\'http://www.softwarelibero.it/gnudoc/gpl.it.txt\'>sotto licenza GPL.</a>', -'info_copyright_doc' => 'Per maggiori informazioni, vedi il sito di <a href=\'http://www.spip.net/it\'>SPIP</a>.', +'info_copyright_doc' => '<MODIF> Per maggiori informazioni, vedi il sito di <a href=\'http://www.spip.net/it\'>SPIP</a>.', 'info_cours_edition' => 'Articoli in fase di redazione', 'info_creation_mots_cles' => 'In questa pagina è possibile creare e configurare le parole chiave del sito', 'info_creation_paragraphe' => '(Per creare dei paragrafi indipendenti, lasciare fra loro delle righe vuote.)', @@ -604,6 +609,7 @@ gli autori eliminati invece da un cestino.', 'info_gauche_visiteurs_enregistres' => 'Trovi qui i visitatori registrati allo spazio pubblico del sito (forum su abbonamento).', 'info_generation_miniatures_images' => 'Generazione di thumbnail di immagini', +'info_gerer_trad' => '<NEW> Gérer les liens de traduction ?', 'info_grand_ecran' => 'Layout per monitor grandi', 'info_groupe_important' => 'Gruppo importante', 'info_hebergeur_desactiver_envoi_email' => 'Alcuni hoster disattivano l\'invio automatico di email @@ -634,6 +640,7 @@ dai loro server. In questo caso, le funzionalità di SPIP di seguito ripor 'info_la_rubrique' => 'la sezione', 'info_laisser_champs_vides' => 'lasciare questi campi vuoti)', 'info_langue_defaut' => 'Lingua predefinita: ', +'info_langue_interface' => '<NEW> Langue de l\'interface', 'info_langue_principale' => 'Lingua predefinita del sito', 'info_langues' => 'Lingua del sito', 'info_langues_proposees' => 'Lingue proposte: ', @@ -680,9 +687,13 @@ le informazioni contenute nel database sono probabilmente andate perse.<br>{{Rei 'info_mots_cles_association' => 'Le parole chiave di questo gruppo possono essere associate:', 'info_moyenne' => 'media: ', 'info_multi_articles' => '<NEW> Activer le menu de langue sur les articles ?', -'info_multi_cet_article' => '<NEW> Cet article est en :', -'info_multi_cette_rubrique' => '<NEW> Cette rubrique est en :', +'info_multi_cet_article' => '<NEW> Langue utilisée dans cet article :', +'info_multi_cette_rubrique' => '<NEW> Langue utilisée dans cette rubrique :', +'info_multi_herit' => '<NEW> langue de la rubrique supérieure', +'info_multi_langues_choisies' => '<NEW> Veuillez sélectionner ci-après les langues à disposition des rédacteurs de votre site. + Les langues déjà utilisées dans votre site (affichées en premier) ne peuvent pas être désactivées.', 'info_multi_rubriques' => '<NEW> Activer le menu de langue sur les rubriques ?', +'info_multi_secteurs' => '<NEW> ... seulement pour les rubriques situées à la racine ?', 'info_multilinguisme' => '<NEW> Multilinguisme', 'info_nexen_1' => 'Il tuo hoster è Nexen Services.', 'info_nexen_2' => 'La protezione della cartella <tt>ecrire/data/</tt> si deve fare con l\'intermediazione dello ', @@ -1064,7 +1075,7 @@ siti esterni che puntano con un link al tuo (<i>referrer</i>)?', 'login_login2' => 'Login (ID di connessione al sito):', 'login_login_pass_incorrect' => '(Login o password errati.)', 'login_motpasseoublie' => 'password dimenticata?', -'login_non_securise' => 'Attenzione, questo modulo non è sicuro. +'login_non_securise' => '<MODIF> Attenzione, questo modulo non è sicuro. Se non vuoi che la tua password possa essere intercettata sulla rete, devi attivare Javascript nel tuo browser e', 'login_nouvelle_tentative' => 'Nuovo tentativo', @@ -1072,6 +1083,7 @@ devi attivare Javascript nel tuo browser e', 'login_pass2' => 'Password:', 'login_preferez_refuser' => '<b>Se preferisci non accettare i cookie</b> c\'è un altro metodo (meno sicuro) per connettersi:', 'login_recharger' => 'aggiorna questa pagina', +'login_rester_identifie' => '<NEW> Rester identifié quelques jours', 'login_retour_public' => 'Ritorna al sito pubblico', 'login_retour_site' => 'Ritorna al sito pubblico', 'login_retoursitepublic' => 'ritorna al sito pubblico', @@ -1163,11 +1175,11 @@ devi attivare Javascript nel tuo browser e', 'onglet_affacer_base' => 'Svuota il database', 'onglet_auteur' => 'L\'autore', 'onglet_contenu_site' => 'Contenuto del sito', -'onglet_evolution_visite' => 'Evoluzione delle visite', +'onglet_evolution_visite_mod' => '<NEW> Évolution', 'onglet_fonctions_avances' => 'Funzioni avanzate', 'onglet_informations_personnelles' => 'Dati personali', 'onglet_interactivite' => 'Interattività', -'onglet_langue' => 'Lingue del sito', +'onglet_langues' => '<NEW> Langues', 'onglet_messagerie' => 'Messaggi', 'onglet_messages_internes' => 'Messaggi interni', 'onglet_messages_publics' => 'Messaggi pubblici', @@ -1175,6 +1187,7 @@ devi attivare Javascript nel tuo browser e', 'onglet_origine_visites' => 'Origine delle visite', 'onglet_repartition_actuelle' => 'attualmente', 'onglet_repartition_debut' => 'dall\'inizio', +'onglet_repartition_lang' => '<NEW> par langues', 'onglet_repartition_rubrique' => 'Ripartizione per rubriche', 'onglet_save_restaur_base' => 'Salva/ripristina il database', 'onglet_vider_cache' => 'Svuota la cache', @@ -1236,7 +1249,7 @@ Potrai quindi inserire una nuova password e riconnetterti all\'area riservata.', compresi <i>tutti</i> i login dei redattori e degli amministratori. Dopo averlo eseguito, dovrai riavviare la procedura di installazione per ricreare un nuovo database e un primo ID amministrativo.', 'texte_admin_tech_01' => 'Questa opzione permette di salvare il contenuto del database in un file che sarà conservato nella cartella <i>ecrire/data/</i>. In fase di backup non dimenticare di recuperare integralmente anche la cartella <i>IMG/</i>, che contiene le immagini utilizzate negli articoli e nelle rubriche.', -'texte_admin_tech_02' => 'Attenzione: questo salvaggio potrà essere ripristinato SOLO in un sito installato con la stessa versione di SPIP. +'texte_admin_tech_02' => '<MODIF> Attenzione: questo salvaggio potrà essere ripristinato SOLO in un sito installato con la stessa versione di SPIP. Con l\'intenzione di aggiornare la versione di SPIP, si commette spesso l\'errore di salvare il database, pensando di doverlo cancellare per poi ripristinarlo ad aggiornamento effettuato... Per maggiori informazioni consulta <a href="http://www.spip.net/fr_article1489.html">la documentazione di SPIP</a>.', @@ -1362,6 +1375,7 @@ Si può quindi arricchire la navigazione del sito, o utilizzare queste pro per personalizzare la presentazione degli articoli nei tuoi modelli di layout.', 'texte_mots_cles_dans_forum' => 'Vuoi consentire ai visitatori di selezionare delle parole chiave nei forum pubblici? (Attenzione: questa opzione è relativamente complessa da gestire in modo corretto.)', 'texte_multilinguisme' => '<NEW> Si vous souhaitez gérer des articles en plusieurs langues, avec une navigation complexe, vous pouvez ajouter un menu de sélection de langue sur les articles et/ou sur les rubriques, en fonction de l\'organisation de votre site.', +'texte_multilinguisme_trad' => '<NEW> Vous pouvez également activer un système de gestion de liens entre les différentes traductions d\'un article.', 'texte_non_compresse' => '<i>non compresso</i> (il tuo server non supporta questa funzionalità)', 'texte_non_fonction_referencement' => 'Puoi non utilizzare questa funzione automatica, e indicare direttamente gli elementi riguardanti il sito...', 'texte_nouveau_message' => 'Nuovo messaggio', @@ -1492,6 +1506,9 @@ in tal caso si può verificare un leggero rallentamento del tuo sito.', 'titre_image_redacteur_02' => 'Redattore', 'titre_image_visiteur' => 'Visitatore', 'titre_joindre_document' => 'ALLEGA UN DOCUMENTO', +'titre_langue_article' => '<NEW> LANGUE DE L\'ARTICLE', +'titre_langue_breve' => '<NEW> LANGUE DE LA BRÈVE', +'titre_langue_trad_article' => '<NEW> LANGUE ET TRADUCTIONS DE L\'ARTICLE', 'titre_les_articles' => 'GLI ARTICOLI', 'titre_liens_entrants' => 'I link odierni al tuo sito', 'titre_mots_cles' => 'PAROLE CHIAVE', @@ -1545,7 +1562,19 @@ in tal caso si può verificare un leggero rallentamento del tuo sito.', 'titre_statistiques' => 'Statistiche del sito', 'titre_suivi_petition' => 'Monitoraggio delle petizioni', 'titre_syndication' => 'Syndication di siti', -'titre_titre_document' => 'Titolo del documento:' +'titre_titre_document' => 'Titolo del documento:', +'trad_article_inexistant' => '<NEW> Il n\'y a pas d\'article portant ce numéro.', +'trad_article_traduction' => '<NEW> Toutes les versions de cet article :', +'trad_deja_traduit' => '<NEW> Cet article est déjà une traduction du présent article.', +'trad_delier' => '<NEW> Ne plus lier cet article à ces traductions', +'trad_lier' => '<NEW> Cet article est une traduction de l\'article numéro :', +'trad_new' => '<NEW> Écrire une nouvelle traduction de cet article', +'trad_reference' => '<NEW> (article de référence)', + + +// CONFLIT +'onglet_evolution_visite' => 'Evoluzione delle visite', +'onglet_langue' => 'Lingue del sito' ); diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3 index a2d7d231dd..d0956298ed 100644 --- a/inc-calcul-squel.php3 +++ b/inc-calcul-squel.php3 @@ -2198,7 +2198,7 @@ function calculer_texte($texte) $code = ""; // Reperer les directives d'inclusion de squelette - while (ereg("<INCLU[DR]E[[:space:]]*\(([-_0-9a-zA-Z./ ]+)\)(([[:space:]]*\{[^}]*\})*)[[:space:]]*>", $texte, $match)) { + while (ereg("(<INCLU[DR]E[[:space:]]*\(([-_0-9a-zA-Z./ ]+)\)(([[:space:]]*\{[^}]*\})*)[[:space:]]*>)|(<<(([a-z_]+):)?([a-z_]+)>>)", $texte, $match)) { $s = $match[0]; $p = strpos($texte, $s); $debut = substr($texte, 0, $p); @@ -2207,41 +2207,49 @@ function calculer_texte($texte) $code .= " \$retour .= '".ereg_replace("([\\\\'])", "\\\\1", $debut)."';\n"; // Traiter la directive d'inclusion - $fichier = $match[1]; - - ereg('^\\{(.*)\\}$', trim($match[2]), $params); - $code .= " \$retour .= '<"."?php ';\n"; - $code .= " \$retour .= 'include_ecrire(\'inc_lang.php3\'); lang_select(lire_meta(\'langue_site\'));';\n"; - $code .= " \$retour .= '\$contexte_inclus = \'\'; ';\n"; - - if ($params) { - // Traiter chaque parametre de contexte - $params = split("\}[[:space:]]*\{", $params[1]); - reset($params); - while (list(, $param) = each($params)) { - if (ereg("^([_0-9a-zA-Z]+)[[:space:]]*(=[[:space:]]*([^}]+))?$", $param, $args)) { - $var = $args[1]; - $val = $args[3]; - if ($val) - $code .= " \$retour .= '\$contexte_inclus[$var] = \'".addslashes($val)."\'; ';\n"; - else - $code .= " \$retour .= '\$contexte_inclus[$var] = \''.addslashes(\$contexte[$var]).'\'; ';\n"; + if ($match[1]) { + $fichier = $match[2]; + ereg('^\\{(.*)\\}$', trim($match[3]), $params); + $code .= " \$retour .= '<"."?php ';\n"; + $code .= " \$retour .= 'include_ecrire(\'inc_lang.php3\'); lang_select(lire_meta(\'langue_site\'));';\n"; + $code .= " \$retour .= '\$contexte_inclus = \'\'; ';\n"; + + if ($params) { + // Traiter chaque parametre de contexte + $params = split("\}[[:space:]]*\{", $params[1]); + reset($params); + while (list(, $param) = each($params)) { + if (ereg("^([_0-9a-zA-Z]+)[[:space:]]*(=[[:space:]]*([^}]+))?$", $param, $args)) { + $var = $args[1]; + $val = $args[3]; + if ($val) + $code .= " \$retour .= '\$contexte_inclus[$var] = \'".addslashes($val)."\'; ';\n"; + else + $code .= " \$retour .= '\$contexte_inclus[$var] = \''.addslashes(\$contexte[$var]).'\'; ';\n"; + } } } - } - // inclure en priorite dans le dossier_squelettes - if ($dossier_squelettes) { - $code .= " \$retour .= ' - if (@file_exists(\'$dossier_squelettes/$fichier\')){ - include(\'$dossier_squelettes/$fichier\'); - } else { - include(\'$fichier\'); - }';\n"; - } else - $code .= " \$retour .= 'include(\'$fichier\');';\n"; - - $code .= " \$retour .= 'lang_dselect(); ?".">';\n"; + // inclure en priorite dans le dossier_squelettes + if ($dossier_squelettes) { + $code .= " \$retour .= ' + if (@file_exists(\'$dossier_squelettes/$fichier\')){ + include(\'$dossier_squelettes/$fichier\'); + } else { + include(\'$fichier\'); + }';\n"; + } else + $code .= " \$retour .= 'include(\'$fichier\');';\n"; + + $code .= " \$retour .= 'lang_dselect(); ?".">';\n"; + } + else // traiter la balise de traduction multilingue + { + if (!$module = $match[7]) + $module = 'local'; + $chaine = $match[8]; + $code .= " \$retour .= traduire(\$GLOBALS['spip_lang'],'$module:$chaine');\n"; + } } if ($texte) diff --git a/login-dist.html b/login-dist.html index b33701ee96..e9c6b3dfae 100644 --- a/login-dist.html +++ b/login-dist.html @@ -1,6 +1,6 @@ <html lang="#LANG"> <head> -<title>[(#LANG|traduire{"login_acces_prive"})]</title> +<title><<spip:login_acces_prive>></title> <meta http-equiv="Content-Type" content="text/html; charset=#CHARSET"> <link rel="stylesheet" href="spip_style.css" type="text/css" /> </head> @@ -9,7 +9,7 @@ <br><br><br><center><table width="400"><tr><td width="400"> <div align='center'> <h3 class='spip'>#NOM_SITE_SPIP<br> -<small>[(#LANG|traduire{"login_acces_prive"})]</small></h3> +<small><<spip:login_acces_prive>></small></h3> </div> #LOGIN_PRIVE </td></tr></table></center> -- GitLab