Header différents selon langue
Auteur Sujet

Post 
Bonjour à tous, je ne sais pas si je poste au bon endroit mais enfin voilà mon souci:

dans mon thème, j'ai un master.htm dans lequel j'ai inclus un menu en javascript(.js)... avec des liens/textes en français . je voudrais utiliser un même menu mais maintenant avec des liens/textes en espagnol puis même en anglais... selon si le visiteur choisit la langue anglaise ou espagnole pour le site.

Dois-je faire appel à trois master.html différents pour chaque langue et comment le faire? ou dois-je créer des variables qui, selon la langue, iront chercher le menu.js qui correspond à la langue? et l'inclueront dans mon master.htm à l'endroit voulu.


Merci pour votre aide et surtout... bon dimanche à vous tous!
Données personnelles

Post 
Effectivement... pas le bon forum : Sujet déplacé dans le forum Thèmes.

Pour la question, un plugin permet de savoir la langue affichée... Selon la langue, tu peux faire un header particulier.

Dans le master (ou home)
  1. <!--[pnusergetlang assign='langue']--> 
  2.  
  3. <!--[if $langue eq 'spa']--> 
  4.   <!--[include file='header_fra.htm']--> 
  5. <!--[elseif $langue  eq 'eng']--> 
  6.   <!--[include file='header_eng.htm']--> 
  7. <!--[else]--> 
  8.   <!--[include file='header_fra.htm']--> 
  9. <!--[/if]--> 


Donc... Si la langue est spa (espagnole), affiche le template header_spa.htm
Sinon si la langue est eng (anglaise), affiche le template header_eng.htm
Sinon, affiche le template header_fra.htm

icon_wink


Chestnut !
Administrateur
Aucun Support par message privé...
Même en cas de pensée suicidaire !
Règles à suivre
Données personnelles Accueil

Post 
Merci Chestnut. Je vois l'astuce... mais c'est ça que je veux changer en fait le menu-fr.js qui serait d'une autre langue... par exemple menu-eng.js pour l'anglais:

  1. <div id="header" align="center"> 
  2.   <table width="100%" cellpadding="0" cellspacing="0" border="0"> 
  3.     <tr> 
  4.       <td class="menu"><scrïpt type="text/javascrïpt" language="JavaScrïpt1.2" src="menu-fr.js"></td> 
  5.     </tr> 
  6.   </table> 
  7. </div> 


Voilà quoi... et je suis si nul que je ne trouve pas comment appeler cet autre menu...

EDIT (Chestnut) : Balise code obligatoire...
Données personnelles

Post 
Tu n'as qu'à renommer tes différents scripts
menu-fra.js au lieu de menu-fr.js, menu-eng, menu-spa, etc...

Ensuite :

  1. <!--[pnusergetlang assign='langue']--> 


La ligne ci-haut assigne la valeur renvoyé à une variable appelée "langue"...
Il te suffit ensuite de l'utiliser...

Exemple :
  1. <td class="menu"><scrïpt type="text/javascrïpt" language="JavaScrïpt1.2" src="menu-<!--[$langue]-->.js"></td> 



Chestnut !
Administrateur
Aucun Support par message privé...
Même en cas de pensée suicidaire !
Règles à suivre
Données personnelles Accueil

Post 
icon_smile Merci!!! comme quoi on ne met plus les mains pendant qq années dans post-nuke et il faut s'y remettre à fond!
Données personnelles

Post 
Bon là... je vais vous énerver par mon inculture et vous allez vous moquer de moi!

Voilà j'ai suivi les instructions de Chestnut, qui son j'en suis sur bonnes!

Mais voilà, j'ai transformé mon master.htm pour afficher mes différents menus de langue directement à travers le gestionnaire de template du module Xanthia... aucun changement quand je rafraichis ma page d'accueil, dans le code source non-plus évidemment!

Donc je charge mon fichier master.htm par ftp, dans le bon dossier évidemment, et ensuite je recharge le dit dossier à travers du gestionnaire de Xanthia. là, parfait, je vois qu'il a pris la nouvelle version...

Mais si je recharge ma page d'accueil... toujours le même code source!

Je décide donc de faire une grosse bêtise, je détruis mon dossier pnTemp, à la racine du site, et je l'upload de mon disque dur et... patatra, ma page d'accueil ne montre plus que le logo du site, alors que le code source, lui, est complet!

Que puis-je faire pour retrouver mon site???
Données personnelles

Post 
J'ai retrouvé mes pages en uploadant encore une fois le fichier pnTemp...

Mais maintenant lorsque je choisis la langue "anglais" rebelotte, même problème... les pages ne s'affichent plus sauf le logo, et le code source lui est bon et m'affiche même le lien vers mon menu en anglais???

Toutes les pages en français s'affichent, pas une en anglais???

je continue de piocher, mais si l'un d'entre vous a une idée pour m'aider...

bonne soirée
Données personnelles

Post 
vide le cache de ton navigateur, force la recompilation des templates à chaque chargement de la page (pnrender)...


Gilles  ><>°
Données personnelles Accueil

Post 
Voilà, j'ai vidé le cache de mon navigateur, forceé la compilation des templates dans pnRender et maintenant...

JE N'AI MÊME PLUS LES PAGES EN FRANçAIS!!!

Plus que le logo qui s'affiche, il est en image de fond dans mon fichier master.html et plus rien d'autre... et si je fais "voir le code source" tout y est??? je n'y comprend rien et je ....
Données personnelles

Post 
as-tu un utilitaire style "tidy" pour vérifier que ton theme n'a pas une erreur fatale qui l'empèche d'être affiché ??

ton code html es-t-il valide?


Gilles  ><>°
Données personnelles Accueil

Post 
Ouais... j'ai vérifié mon code html et les différentes balises, tout semble en ordre... de plus, c'est vraiment bizarre de voir que le logo est une image de fond dans une balise css s'affiche et le reste de la page est noire... alors que si je fais afficher le code source, c'est exactement le code source que j'avais avant et qui fonctionnait avec le site en français avant que je ne force la compilation des templates dans pnrender...

au secours!
Données personnelles

Post 
Bon... en enlevant le menu en java que j'avais installé dans mon entête, les pages sont revenues... je vais recommencer à zéro!
je vous tiendrai au courant de l'avancement du problème.

bonne nuit
Données personnelles

Post 
Bonjour à tous, peu dormi...

Voilà j'ai tout repris à zéro et maintenant j'ai mes pages qui s'affichent dans les trois langues: français, anglais et espagnol. C'est très bien.

SAUF: les menus qui s'affichent en haut de la page sont toujours les menus en français... alors que j'ai crée trois menus nommés menu-fra.js, menu-eng.js et menu-spa.js. Une variable qui va chercher la langue selon le choix de la langue voir plus haut dans les posts(merci Chestnut) et si je regarde le code source, il est bon... pour chaque langue, il y a bien la requête qui me met le bon menu selon la langue!!! Par contre à l'écran j'ai toujours le menu français???

A tester là: www.saroma-invest.com/index.php

Pouvez-vous me dire si c'est pnRender qui m'ennuie... smarty... ou qq chose d'autre?

merci pour votre aide précieuse
Données personnelles

Post 
je pense que c'est smarty via le module pnrender. En fait, Smarty, met ton site en cache afin d'accélérer son chargement. et le site à du être mis en cache en francais.

Je mense que tu devrai déjà essayer de "forcer à la recompilation" dans le pnrender et tester ainsi si ca marche.

Autrement, je sais que ca te fais un peu de travail mais crée des constantes de langue comme dans le thème pndefaut (un dossier fra, eng et esp) et tu met dans le dossier global de chaque langue les constantec correspondant à ton menu.

Je pense que cette deuxième idée est mieux, et plus efficace et plus rapide pour les utilisateurs !


Gilles  ><>°
Données personnelles Accueil

Post 
Oui Gilles, j'y ai pensé donc j'ai forcé la recompilation et là je n'avais plus mes pages exception faite du logo... Là j'ai débranché le module pnRender, vidé le cachede i.e., et j'ai toujours mes pages qui s'affichent correctement dans toutes les langues, sauf le menu qui s'appelle menu-fra.js pour la langue française, menu-eng.js pour l'anglais et menu-spa.js pour l'espagnol... les trois menus sont bien différents, lorsque je clique sur français, le menu qui apparait est en français et dans le code source je retrouve mon menu-fra.js en anglais je retrouve menu-eng.js et en espagnol, menu-spa.js... mais les menus qui apparaissent sur les pages sont toujours les menus en français???

Je ne comprends pas comment ma page peut afficher le menu enfrançais alors que dans le code source il est indiqué menu-eng.js???

voilà!

et je ne trouve toujours pas!!!
Données personnelles

Post 
essaie de forcer à la recompilation des templates dans xanthia,

il me semble, que le multilanguage est le même site, la même structure avec juste les fichiers de langue qui changent.

regarde aussi les constantes de langue à mettre dans ton thème xanthia !

a+


Gilles  ><>°
Données personnelles Accueil
Post 
C'est tout bon!!!

En fait, j'ai shooté mon dossier pnTemp à la racine, je l'ai uploadé tout frais et dispos de mon disque dur, et voilà... le tour est joué!

Je ne sais pas pourquoi... mais ça a fonctionné!

Merci à ceux qui m'ont mis sur la bonne voie... Gilles et Chestnut icon_wink
Données personnelles