Rechercher : dans
Par :

Php site en plusieurs langues

Dernière réponse le 13 oct 2008 à 13:06:10 Dadox, le 13 oct 2008 à 11:37:53 
 Signaler ce message aux modérateurs

Bonjour,
je suis en train de créer un site en php. Et je voudrais pouvoir le rendre disponible en plusieurs langues.
j'ai vu sur plusieurs forum qu'il faut créer un fichier php par langues avec les même variables mais avec un contenue différent.

je voudrais pouvoir laisser l'utilisateur choisir la langue dans la page index.php en cliquant sur des drapeaux...

Pouvez vous me donner le code pour permettre de choisir le fichier a inclure en fonction du clic de l'utilisateur sur un des drapeaux (je souhaite utiliser les SESSION pour stocker le choix de la langue)...

Si je ne suis pas assez clair, faites le moi savoir...

Merci d'avance

Dadox

Configuration: Windows XP
Firefox 3.0.3

Meilleures réponses pour « Php site en plusieurs langues » dans :
Il est possible de récupérer le code source PHP d'un site Voir Mythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur web...
Plan du site (sitemap) consultable avec Navibar pour Firefox VoirFAIRE UNE SITEMAP ceci est un copié-collé de mon tuto : sylvain.sab.free.fr/html.php#sitemap Attention : ce tutoriel vous apprendra à faire une sitemap, pas une googlemap. Si c'est ce que vous voulez, il existe le logiciel gratuit...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...
Caractéristiques du langage Php VoirL'interprétation du code Un code PHP (celui compris entre les délimiteurs ) est un ensemble d'instructions se terminant chacune par un point-virgule (comme en langage C). Lorsque le code est interprété, les espaces, retours chariot et...

1

Mack95, le 13 oct 2008 à 11:39:58

Tu ne peux pas plutot mettre tes drapeaux en tant que lien vers ta page Php ?

Le plus simple aurait été de faire ça dynamiquement, en stockant les traductions dans une base de données et que ta variable de Session ($_LANGUE par exemple) soit modifié à chaque clic sur un drapeau.
J'apprend en resolvant des problèmes !

Répondre à Mack95

2

Dadox, le 13 oct 2008 à 12:07:47

Le but justement est de ne pas avoir 3 fois la même page en langue différente...mais d'avoir une seule pages avec un include au début qui pointe vers un fichier lang.php choisit en fonction de la langue cliquer par l'utilisateur....

Répondre à Dadox

3

macgawel, le 13 oct 2008 à 12:17:09
  • +1

Bonjour.

Le "truc", comme tu dis, c'est que si tu ne nous montres pas la structure actuelle de tes pages, on ne peut rien faire !

Une proposition, à modifier selon ta structure :
Passer en paramètre de tes url '?lang=fr[en]', et dans le php :

// On récupère la langue, par défaut c'est le français...
$lang = 'fr';
if (isset ($_GET['lang'])) {
   $lang = $_GET['lang']
}
[...]
// On essaye de récupérer le contenu correspondant à la langue
// On va dire que les fichiers de contenu sont de la forme "mapage_lg.php"
include ($mapage.'_'.$lang.'.php');


Tu peux aussi envisager de créer des dossiers fr/ en/ etc., qui contiendront les fichiers de contenu (avec le même nom).
Il suffirait alors de définir la racine du contenu suivant la langue...
Si tu donnes à celui qui a faim un poisson, tu le nourris pour un jour
Si tu lui apprends à pêcher, tu le nourris pour toujours.

Répondre à macgawel

4

Mack95, le 13 oct 2008 à 12:25:13

Dans ce cas, créer toi une base de données avec toutes les traductions. Ton index.php devra contenir la mise en forme de ta page puis que des variable de sessions Php pour le contenu.. Dans ton langue.php tu remplis les variables de sessions par le contnu trouvé en fonction de la langue.

Je t'enverai un exemple si j'ai le temps ce soir car j'ai du mal m'exprimer
J'apprend en resolvant des problèmes !

Répondre à Mack95

5

Dadox, le 13 oct 2008 à 12:44:37

"Le plus simple aurait été de faire ça dynamiquement, en stockant les traductions dans une base de données et que ta variable de Session ($_LANGUE par exemple) soit modifié à chaque clic sur un drapeau."

Comment faire pour justement modifier cette variable a chaque clic sur un drapeau ???

Répondre à Dadox

6

Mack95, le 13 oct 2008 à 12:51:21

Par exemple :
index.php
-----------
...<a href="toto.php?lang=fr"><img src="drapeau_fr alt="Langue française" /></a>...

toto.php
---------
<?php
//ouverture de la session et tout et tout
...
$_LANGUE = $_GET['lang'];
...
header("Location:index.php");
?>

C'est juste un exemple. Y'a d'autres solutions bien entendu (tout mettre dans la même page par exemple).
J'apprend en resolvant des problèmes !

Répondre à Mack95

7

 Dadox, le 13 oct 2008 à 13:06:10

Ok merci bcp, c'est tout ce que j'avais besoin de savoir...

Pour le reste, je vais essayer de me débrouiller....

Merci

Dadox

Répondre à Dadox