Avec le module i18n je peux récupérer les translations directes
via le menu
http://www.monsite/fr
http://www.monsite/en
http://www.monsite/de
Je tombe sur une page avec la home traduite. Or, les views générées ne correspondent pas à ce que je souhaite voir (lire plus devrait être traduit read more champ d’une view Node : Link to node) et j’aimerais au final afficher une page avec des blocks différents selon la langue.
En fr : Par exemple voir le block edito sans le block international
En eng : que le block international sans le block edito
Ma question revient à savoir comment obtenir
- une page par défault pour chacune des langues
- une home différente pour chacune des langues
Je n’ai rien trouvé de très signifiant sur la doc d’i18n
//
J’utilise à présent ce code pour créer des pages templates par taxonomy
/* load up the taxonomy terms for this node and page */
$terms = taxonomy_node_get_terms($node->nid) ;
rsort($terms) ;
/**
* Check to see if the taxonomy term matches your query and load
* a custom page-termname.tpl.php layout file
*/
if ($terms[0]->name == ‘edito’) {include ‘page-edito.tpl.php’ ;
return ; }
/*If the taxonomy term name doesn’t match, load the page-default.tpl.php */
else {include ‘page-default.tpl.php’ ;
return;}
?>
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Le pb s’est posé à d’autres personnes sans réponse
http://drupal.org/node/137315
Je ne voudrais pas rediriger chaque page d’accueil sur un node particulier mais bien sur un template en particulier exemple : frontpage_fr frontpage_en frontpage_de.
Je ne vois pas bien ce que le handbook veut dire
The first one is to add ‘site_frontpage’ to language dependent variables, and then define a different path for each language.
http://drupal.org/node/134003
numidviking
97
A mon avis, ce qu’il veut dire par
en/home --> en/node/1es/home --> es/node/2
c’est qu’il faut faire des alias different au niveau du module path.
Ainsi ta premiere page est la meme mais comme le module i18n ajoute un prefixe a tous les paths, alors ta page de garde va changer car le nouveau path de la home va etre en/home et comme tu auras crees un alias vers node/1 ca ira sur cette page…
Pas super claire l’explication mais a mon avis faut essayer.
Sinon vu que je connais pas i18n, je sais pas ou on definit les variables…
tostinni
1268
Salut,
Apparement le module I18n est en cours de débuggage concernant la page de garde par défaut qui ne se transforme pas en «This is a multilingual variable», même si tu ajoutes la variable indiquée dans template.php
drupal.org/project/i18n
du coup j’ai recréé un menu avec des puces (drapeaux) qui pointent vers des nodes particuliers par exemple
lphb/en/node/155 pour l’anglais
lphb/de/node/156 pour l’allemand
J’ai créé un include entete.tpl pour chaque langue ou j’ajoute
au chemin du logo le lien direct vers le node concerné 155 ou 156 ici : de cette manière si je suis sur un article de la version anglaise en cliquant sur le logo je reviens sur le node qui m’intéresse (en guise de home par langue).
Pas trouvé mieux pour le moment en attendant drupal 6 ou cette correction d’I18n.
Stéphane
numidviking
97
Ma question revient à savoir comment obtenir
- une page par défault pour chacune des langues
- une home différente pour chacune des langues
Hello,
Pas sûr de comprendre la différence entre «page par défaut» et «home».
Pour avoir une home différente pour chaque langue, il faut en effet déclarer que la variable persistante qui contient le path de la home est multilingue. Pour cela, il faut ajouter le code suivant dans
/sites/default/settings.php:<?php$conf['i18n_variables'] = array(
site_frontpage,
);
?>
Ensuite, tu vas sur la page de l’admin où tu peux configurer la home pour le site anglais (en/admin/settings/site-information), tu saisis le chemin et tu enregistres.
Tu recommences l’opération en allant sur la page de config de la home française (fr/admin/settings/site-information), tu saisis le chemin et tu enregistres.
Et ainsi de suite pour chaque langue.
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
Oui Vincent, mais je peux t’assurer que même en mettant
<?php$conf['i18n_variables'] = array(
'site_frontpage',
);
?>
le champ Page de garde par défaut dans :
fr/admin/settings/site-information
en/admin/settings/site-information
ne se transforme pas en This is a multilingual variable.
:-(
numidviking
97
J’ai pas remarqué qu’il s’écrivait «This is a multilingual variable» sur l’écran. Simplement, tu peux saisir une valeur différente pour chaque langue (en l’occurrence, pour la langue avec laquelle tu es en train de regarder le site).
Cela dit, le site multilingue que j’ai fait était sous Drupal 4.7. Peut-être que le comportement est différent sous Drupal 5.
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772