Carnet Wiki

MultilinguismeExemple4

Version 1 — Octobre 2005 — Dan Hetzel — Version initiale

Voici encore un exemple d’utilisation du multilinguisme de SPIP.

[Erreur...3]

Contraintes

Comme dans l’exemple MultilinguismeExemple3, je ne voulais pas séparer les langues par secteurs mais toutes les mélanger dans la structure primaire du site. J’ai fait ce choix, parce que mon site respecte deux choses :

  1. tous les articles sont au moins en anglais (la langue par défaut du site),
  2. quelques traductions existent dans d’autres langues, mais elles ne sont pas faites à un rythme très soutenu.

[Erreur...6][Erreur...7][Erreur...8]pour un visiteur francophone, et :

[Erreur...10]pour un visiteur anglophone.

Solutions choisies

Langue du visiteur

[Erreur...14]Par choix esthétique, le menu a été abandonné pour afficher des drapeaux (je sais, ça plait pas à tout le monde). Voici donc le code pour faire cela :

<?php 
$langues_autorisees = explode(',', lire_meta('langues_multilingue'));
while (list(,$l) = each ($langues_autorisees)) {
  if ($l == $GLOBALS['spip_lang']) {
?>
<img id="langage" src="#URL_SITE_SPIP/NAVPICS/<?php echo $l;?>-desactive.png" height="16" width="16">
<?php } else { ?>
<a href="<?php
	$lien = $GLOBALS['clean_link'];
	$lien->delVar('var_lang');
	$lien->delVar('redir');
	$lien = $lien->getUrl();
       $post = 'spip_cookie.php';
	$postcomplet = new Link($post);
 	$postcomplet->addvar('url', $lien);
      $postcomplet->addvar('var_lang', $l);
      echo $postcomplet->geturl();?>" 
title="<?php echo ucfirst(traduire_nom_langue($l));?>" class="lien">
<img id="langage" src="#URL_SITE_SPIP/NAVPICS/<?php echo $l;?>.png" height="16" width="16">
</a>
<?php }} ?>

[Erreur...17]Liste d’articles

[Erreur...19][Erreur...20] Avec la 1.8

[Erreur...22]La traduction de l’article

[Erreur...24][Erreur...25]Les Forums

[Erreur...27]On affiche donc, grâce à des onglets, les forums de chaque langue sous chaque traduction.

Cette boucle est discutée ici.

Défauts

[Erreur...31][Erreur...32]