diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3 index 5a2f077b71cd5323a3c8b07e19a0b5681500e518..e2df67a2d74a538985217eec97fdcdebf89c94cc 100644 --- a/ecrire/inc_filtres.php3 +++ b/ecrire/inc_filtres.php3 @@ -455,6 +455,7 @@ function lang_select ($lang='') { include_ecrire('inc_lang.php3'); php3_array_push($pile_langues, $spip_lang); changer_langue(lang_supprimer_point($lang)); +echo $lang; } // revenir a la langue precedente diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3 index 3e1ec3e3d4b0b0fe6486a373ac41da597a848f94..c2b2c896d827978bfbf23a29d9a045a1557ba961 100644 --- a/ecrire/inc_lang.php3 +++ b/ecrire/inc_lang.php3 @@ -263,13 +263,7 @@ function menu_langues($nom_select = 'var_lang', $default = '', $texte = '', $her $parenthese_o = '('; $parenthese_f = ')'; $default = lire_meta('langue_site'); - } else if (substr($default,0,1) == '.') { - $parenthese_o = '('; - $parenthese_f = ')'; - $default = substr($default,1); } - - if ($nom_select == 'var_lang') { $langues = explode(',', $GLOBALS['all_langs']); @@ -297,9 +291,9 @@ function menu_langues($nom_select = 'var_lang', $default = '', $texte = '', $her if (lire_meta('multi_rubriques') == "oui") { if ($herit) { - $ret .= "<option value='herit' selected> ("._T('info_multi_herit').")</option>\n"; + $ret .= "<option value='herit' selected>"._T('info_multi_herit')." ($default)</option>\n"; } else if ($nom_select == 'changer_lang') { - $ret .= "<option value='herit'> ("._T('info_multi_herit').")</option>\n"; + $ret .= "<option value='herit'>"._T('info_multi_herit')." ($default)</option>\n"; } } diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3 index 64aab495d9634344dbe1d9ae6536475a9154a25e..6af92641102b1f1d7dd5925b6f32a4ee332d58f7 100644 --- a/ecrire/inc_texte.php3 +++ b/ecrire/inc_texte.php3 @@ -323,15 +323,14 @@ function typo_en($letexte) { return ereg_replace(" *~+ *", " ", $letexte); } -// Typographie generale : francaise si la langue principale du site est -// 'cpf', 'fr' ou 'eo', +// Typographie generale : francaise si la langue est 'cpf', 'fr' ou 'eo', // sinon anglaise (minimaliste) function typo($letexte) { - global $langue_site; + global $spip_lang; list($letexte, $les_echap) = echappe_html($letexte, "SOURCETYPO"); - if (($langue_site == 'fr') OR ($langue_site == 'eo') OR ($langue_site == 'cpf')) + if (($spip_lang == 'fr') OR ($spip_lang == 'eo') OR ($spip_lang == 'cpf')) $letexte = typo_fr($letexte); else $letexte = typo_en($letexte); diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3 index 31310054be62094a8bcb873dbc2c6d47db7d74f7..99b94d4ed18b2aee60d53edec82115580b24047c 100644 --- a/inc-calcul-squel.php3 +++ b/inc-calcul-squel.php3 @@ -34,6 +34,7 @@ class Boucle { var $type_requete; var $separateur; var $doublons; + var $lang_select; var $partie, $total_parties; } @@ -269,6 +270,9 @@ function parser_boucle($texte, $id_parent) { $doublons = 'oui'; $req_where[] = "$table.$id_objet NOT IN (\$id_doublons[$type])"; } + else if (ereg('^lang_select(=(oui|non))?$', $param, $match)) { + if (!$lang_select = $match[2]) $lang_select = 'oui'; + } else if (ereg('^ *"([^"]*)" *$', $param, $match)) { $separateur = ereg_replace("'","\'",$match[1]); } @@ -580,6 +584,7 @@ function parser_boucle($texte, $id_parent) { $result->type_requete = $type; $result->requete = $requete; $result->doublons = $doublons; + $result->lang_select = $lang_select; $result->separateur = $separateur; } @@ -1838,6 +1843,7 @@ function calculer_boucle($id_boucle, $prefix_boucle) $instance->type_requete = \''.$boucle->type_requete.'\'; $instance->separateur = \''.$boucle->separateur.'\'; $instance->doublons = \''.$boucle->doublons.'\'; + $instance->lang_select = \''.$boucle->lang_select.'\'; $instance->partie = \''.$boucle->partie.'\'; $instance->total_parties = \''.$boucle->total_parties.'\'; @@ -2025,6 +2031,7 @@ function calculer_boucle($id_boucle, $prefix_boucle) $contexte["date"] = normaliser_date($row["date"]); $contexte["date_redac"] = normaliser_date($row["date_redac"]); $contexte["id_trad"] = $row["id_trad"]; + if ($lang_dselect = ($instance->lang_select != "non")) lang_select($row["lang"]); $contexte["accepter_forum"] = $row["accepter_forum"]; if ($instance->doublons == "oui") $id_doublons["articles"] .= ",".$row["id_article"]; '; @@ -2036,6 +2043,7 @@ function calculer_boucle($id_boucle, $prefix_boucle) $contexte["id_rubrique"] = $row["id_rubrique"]; $contexte["id_secteur"] = $row["id_rubrique"]; $contexte["date"] = normaliser_date($row["date_heure"]); + if ($lang_dselect = ($instance->lang_select != "non")) lang_select($row["lang"]); if ($instance->doublons == "oui") $id_doublons["breves"] .= ",".$row["id_breve"]; '; break; @@ -2082,6 +2090,7 @@ function calculer_boucle($id_boucle, $prefix_boucle) $contexte["id_parent"] = $row["id_parent"]; $contexte["id_secteur"] = $row["id_secteur"]; $contexte["date"] = normaliser_date($row["date"]); + if ($lang_dselect = ($instance->lang_select != "non")) lang_select($row["lang"]); if ($instance->doublons == "oui") $id_doublons["rubriques"] .= ",".$row["id_rubrique"]; $syn_rubrique .= ",".$row["id_rubrique"].","; '; @@ -2102,6 +2111,7 @@ function calculer_boucle($id_boucle, $prefix_boucle) case 'auteurs': $texte .= ' $contexte["id_auteur"] = $row["id_auteur"]; + if ($lang_dselect = ($instance->lang_select == "oui")) lang_select($row["lang"]); if ($instance->doublons == "oui") $id_doublons["auteurs"] .= ",".$row["id_auteur"]; '; break; @@ -2139,7 +2149,7 @@ function calculer_boucle($id_boucle, $prefix_boucle) // // Fermeture de la boucle spip_fetch_array et liberation des resultats // - + $texte .= "if (\$lang_dselect) lang_dselect();\n"; if ($flag_parties) { $texte .= ' }