Bonjour,
je 'merde' tranquillement sur le meme sujet....
Bien qu'il existe bcp d'articles et d'infos, ce n'est pas evident !
peut-etre qu'un article de synthèse le ferait mieux, mais pour l'ecrire, il
faut d'abord que je reussise a le faire....
Un autre de mes soucis (mais je suis sur que denisb me depannera qd j'en
aurai besoin) :
utiliser des fichiers images par langue pour certains textes traduits
=> en clair, charger un fichier #CHEMIN{images\texte#LANG.jpg}
qui sache accéder à #CHEMIN{images\texte.jpg} si texte#LANG.jpg n'existe
pas
ci-dessous quelques pistes :
"sonic steph" <ml@dadaprod.org> a écrit dans le message de news:
49BCD571.6040708@dadaprod.org...
le passage via les liens du squelette des deux traductions se fait comme
attendu..
par contre le formulaire #MENU_LANG, présent dans inc-entete.html, ne
semble fonctionner qu'en indication de la langue : si j'essaie de
changer la langue du site via ce formulaire, cela ne change rien, la
langue déterminé par l'article en court reste (il n'y a que
#MODELE{article_traductions} dans le squelette article.html qui donne un
résulat..).
Meme souci ; cela commence a marcher qd on rajoute
<?php
/* config/mes_options.php*/
$forcer_lang = true ;
?>
Je souhaite, offrir à l'internaute le choix de la langue via deux
drapeaux.. Ces drapeaux devant être liés à une url permettant de
préciser la langue du site..
Ci-dessous ce que j'avais récupéré pour commencer a travailler sur le sujet
:
<?php
function balise_MENU_LANG_ecrire /ecrire/lang
// http://doc.spip.org/@menu_lang_pour_tous
function menu_lang_pour_tous($nom, $default) {
include_spip('inc/lang');
if ($GLOBALS['spip_lang'] <> $default) {
$opt = lang_select($default); # et remplace
if ($GLOBALS['spip_lang'] <> $default) {
$default = ''; # annule tout choix par defaut
if ($opt) lang_select();
}
}
$opt = liste_options_langues($nom, $default);
if (!$opt)
return '';
# lien a partir de /
$cible = parametre_url(self('&', /* racine */ true), 'lang' , '', '&');
$post = generer_url_action('converser', 'redirect='. rawurlencode($cible),
'&');
return array('formulaires/menu_lang',
3600,
array('nom' => $nom,
'url' => $post,
'langues' => $opt
)
);
}
//* RESULTAT standard #MENU_LANG
<div class="formulaire_spip formulaire_menu_lang" id="formulaire_menu_lang">
<form method="post"
action="http://localhost/vg/spip.php?action=converser&redirect=%2Fvg%2Fspip.php">
<input name="action" value="converser" type="hidden" />
<input name="redirect" value="/vg/spip.php" type="hidden" />
<label for="var_lang">Langues du site</label>
<select name="var_lang" id="var_lang"
onchange="this.parentNode.submit()"><option class='maj-debut'
value='en'>English</option>
<option class='maj-debut' value='fr'
selected='selected'>français</option>
</select>
<noscript><input type="submit" class="submit" value=">>"
/></noscript>
</form>
</div>
/* ****************************************************
* Formulaire menu_lang plat sans URL sur la langue sélectionnée - SPIP-Contrib
*
************************************************** */
// menu_lang plat sans URL sur la langue sélectionnée
// ajouter dans mes_fonctions.php
function url_lang ($langues) {
include_spip('inc/charsets');
$texte = '';
$tab_langues = explode(',', $GLOBALS['meta']['langues_multilingue']);
while ( list($clef, $valeur) = each($tab_langues) )
if ($valeur == $GLOBALS['spip_lang']) {
$texte .= '<span class="languencours">'.$valeur.'</span> ';
}
else { $GLOBALS['delais'] = 0;
$texte .= '<a href="'.parametre_url(generer_url_action('cookie'), 'url',
parametre_url(self(true), '&'), '&').'&var_lang='.$valeur.'"
alt="'.traduire_nom_langue($valeur).'">'.$valeur.' </a>';
}
return $texte;
}
// ou
// menu_lang plat sans URL sur la langue sélectionnée
function url_lang ($langues) {
include_spip('inc/charsets');
$texte = '';
$tab_langues = explode(',', $GLOBALS['meta']['langues_multilingue']);
while ( list($clef, $valeur) = each($tab_langues) )
if ($valeur == $GLOBALS['spip_lang']) {
$texte .= '<span
class="languencours">'.traduire_nom_langue($valeur).'</span> ';
}
else { $GLOBALS['delais'] = 0;
$texte .= '<a href="'.parametre_url(generer_url_action('cookie'), 'url',
parametre_url(self(true), '&'), '&').'&var_lang='.$valeur.'"
alt="'.traduire_nom_langue($valeur).'">'.traduire_nom_langue($valeur).' </a>';
}
return $texte;
}
// Utilisation
Dans vos squelettes, appelez le menu avec la balise
#CONFIG{langues_utilisees} suivie du filtre url_lang :
[<div class="menu_langues">(#CONFIG{langues_utilisees}|url_lang)</div>]
/* Feuilles de styles
// Dans vos CSS, vous pouvez personnaliser la balise avec la classe «
.menu_langues » et « .languencours » */
//fin
?>
_____________________________________________________________________
réseaux d'artistes autoproduits, label autogéré, plateforme de
téléchargement libre, média indépendant
-----------------------
http://www.dadaprod.org
_____________________________________________________________________