OVH Cloud OVH Cloud

Site multi-langues

7 réponses
Avatar
elia
Bonjour,

Pour un site en plusieurs langues j'aimerais pouvoir changer de langues
=E0 tout moment sur chaque page.
J'ai donc 3 sites identiques (dans chaque langue respective) et sur
chaque page 3 liens (Allemand - Fran=E7ais - Italien)

Mes pages se nomment :

contact_de.php
contact_fr.php
contact_it.php

ou

loisirs_de.php
loisirs_fr.php
loisirs_it.php

.=2E.( )

Je ne sais pas si c'est en javascript ou en php que c'est le plus
simple mais si sous chacun des liens (Allemand - Fran=E7ais - Italien)
on met un script qui renvois =E0 la m=EAme page que celle qui est ouverte
mais avec " l'extension :" _de ou _fr ou _it il suffirait alors de
faire un lien sur ce script =E0 toutes les pages et de construire sans
me soucier de nouvelles pages en utilisant le m=EAme nom mais avec _de
ou _fr_ ou it

php ou javascript?? et si vous pouviez m'aider pour ce code. Merci

Pascal

7 réponses

Avatar
ASM
Bonjour,

Pour un site en plusieurs langues j'aimerais pouvoir changer de langues
à tout moment sur chaque page.


bon on en a débattu il n'y a pas si longtemps
sur l'autre ng : news:fr.comp.infosystemes.www.auteurs

on n'a ni besoin de php ni de javascript

les fichiers sont :
page1.php.fr
page1.php.de
page1.php.it

Le serveur regarde la langue préférée du navigateur
et envoie le fichier de la langue
(voir l'autre ng pour confirmation)


sinon on attache une variable
et le php ou le js analysent la variable pour le bon fichier

informations.php?lang=fr
informations.htm?fr
informations.shtml?fr

ou carément :
informations?fr

pour le php ou le ssi, pas besoin de 3 fichiers
les 3 variantes sont dans la page
et on se débruoille pour n'envoyer que ce qu'il faut

exemple SSI :

<!--#set var="lang" value="QUERY_STRING" -->
<!--#if expre="$lang = fr" -->
Salut le monde
<!--#elif expr="$lang = en" -->
Hello world
<!--#elif expr="$lang = it" -->
Saluti a tuti
<!--#endif -->


exemple javascript + css

var lang = self.location.search;
var visu = lang=='en'? document.getElementById('gb') :
lang=='it'? document.getElementById('it') :
document.getElementById('fr') ;
onload = function() { visu.style.display = 'block';

les 3 divs sont stylés en display: none;
problème : la page sera bp + lourde que necessaire

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Thierry
ASM écrivait news:43f30c1c$0
$26752$:

Bonjour,

Pour un site en plusieurs langues j'aimerais pouvoir changer de
langues


à tout moment sur chaque page.


bon on en a débattu il n'y a pas si longtemps
sur l'autre ng : news:fr.comp.infosystemes.www.auteurs

on n'a ni besoin de php ni de javascript

les fichiers sont :
page1.php.fr
page1.php.de
page1.php.it


C'est lourd de maintenir 3 pages...

exemple SSI :

<!--#set var="lang" value="QUERY_STRING" -->
<!--#if expre="$lang = fr" -->
Salut le monde
<!--#elif expr="$lang = en" -->
Hello world
<!--#elif expr="$lang = it" -->
Saluti a tuti
<!--#endif -->


Indigeste.

les 3 divs sont stylés en display: none;
problème : la page sera bp + lourde que necessaire


Tu m'etonnes...

Perso j'inclu un lang.php dans toutes les pages, qui va include le fr.php
ou en.php en fonction de la langue du browser...


Avatar
ASM
ASM écrivait news:43f30c1c$0
$26752$:

on n'a ni besoin de php ni de javascript

les fichiers sont :
page1.php.fr
page1.php.de
page1.php.it



C'est lourd de maintenir 3 pages...


guère bp de différence d'avec :

Perso j'inclu un lang.php dans toutes les pages, qui va include le fr.php
ou en.php en fonction de la langue du browser...


le moteur lang.php (basé sur le brouteur)
fait un peu double emploi avec les fonctionnalités du serveur

l'inclusion de fr.php ou en.php
suppose que ce sont les 2 mêmes pages (ou extraits) à inclure
on en revient grosso modo à même lourdeur de maintient de fichiers

à moins que ces en.php et fr.php ne soient des traducteurs à la volée ?


Perso et pour mes petits essais de la chose
j'avais qque chose comme tu dis mais uniquement sur un choix du visiteur
(une même page-guide pour tt le monde
+ inclusions des textes en diverses langues suivant choix
+ utilisation de mini-traducteurs)
De tte façon le multilingue c'est un casse-tête.

--
Stephane Moriaux et son [moins] vieux Mac


Avatar
ASM
ASM écrivait news:43f30c1c$0
$26752$:

on n'a ni besoin de php ni de javascript

les fichiers sont :
page1.php.fr
page1.php.de
page1.php.it



C'est lourd de maintenir 3 pages...


guère bp de différence d'avec :

Perso j'inclu un lang.php dans toutes les pages, qui va include le fr.php
ou en.php en fonction de la langue du browser...


le moteur lang.php (basé sur le brouteur)
fait un peu double emploi avec les fonctionnalités du serveur

l'inclusion de fr.php ou en.php
suppose que ce sont les 2 mêmes pages (ou extraits) à inclure
on en revient grosso modo à même lourdeur de maintient de fichiers

à moins que ces en.php et fr.php ne soient des traducteurs à la volée ?


Perso et pour mes petits essais de la chose
j'avais qque chose comme tu dis mais uniquement sur un choix du visiteur
(une même page-guide pour tt le monde
+ inclusions des textes en diverses langues suivant choix
+ utilisation de mini-traducteurs)
De tte façon le multilingue c'est un casse-tête.

--
Stephane Moriaux et son [moins] vieux Mac


Avatar
Thierry
ASM écrivait news:43f47c19$0
$21263$:

C'est lourd de maintenir 3 pages...


guŠre bp de diff‚rence d'avec :


Si : dans ton exemple t'as 3 fichiers par "page", tandis que moi je n'ai
que 3 fichiers quelque soit le nombre de pages, et ces 3 fichiers ne
contiennent que des strings.

C'est bien l'option Overview d'Apache dont tu parles ?


Avatar
elia
Merci pour ces explications.

Je vais gentiment faire le point et choisir la bonne solution.
Faire 3 pages différentes est moins "joli", mais la gestion du site
doit être aisé car elle sera faite par des non-initié-es via le
logiciel "Contribute". De plus certaines pages ne seront existantes que
dans une langue faute de traduction.

Oui, il n'y a pas de miracles, ... le multi langues reste un bon rayon
à se coltiner pour tout graphiste, webmaster ou programmeur.

Merci encore pour les réponses, et si vous avez d'autres conseils,
ils sont les bienvenues,

pascal
Avatar
ASM
ASM écrivait news:43f47c19$0
$21263$:

guère bp de diférence d'avec :



Si : dans ton exemple t'as 3 fichiers par "page", tandis que moi je n'ai
que 3 fichiers quelque soit le nombre de pages, et ces 3 fichiers ne
contiennent que des strings.


tu veux dire des espèces de lexiques de mots traduits ?

pour mon essai, ce système (pas commode à utiliser)
n'a pas suffit
il y avait un peu de contenu qui demandait un peu plus
et hop! autant de sous-fichiers que de langues

C'est bien l'option Overview d'Apache dont tu parles ?


comme dit : voir archives f.c.l.www.auteurs où on en a parlé
(je ne sais et mon Apache est réglé comme çà par défaut)

--
Stephane Moriaux et son [moins] vieux Mac