PHP site multi langue fr/en
Fermé
Pascal_22
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
-
14 oct. 2011 à 22:34
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 - 18 oct. 2011 à 19:44
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 - 18 oct. 2011 à 19:44
A voir également:
- PHP site multi langue fr/en
- Coco fr - Accueil - Réseaux sociaux
- Site de telechargement - Accueil - Outils
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site de vente en ligne particulier - Guide
- Site inaccessible - Guide
5 réponses
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
15 oct. 2011 à 17:50
15 oct. 2011 à 17:50
Salut,
Tu peux utiliser des tableaux, mais je te recommande plutôt GetText.
https://www.php.net/gettext
https://openclassrooms.com/fr/courses
Tu peux utiliser des tableaux, mais je te recommande plutôt GetText.
https://www.php.net/gettext
https://openclassrooms.com/fr/courses
Pascal_22
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
54
17 oct. 2011 à 19:58
17 oct. 2011 à 19:58
Salut Avion-f16,
Wow, ok assez complexe mais très bien...
as-tu déjà utilisé cette méthode?
Est-ce que tu crois que cela peut ralentir le site d'aller lire, et ce a chaque changement de page, dans un autre fichier pour savoir comment afficher le contenu?
Un site comme facebook, qui a des millions d'utilisateur actif et ce en même temps, crois-tu qui utilise cette méthode? Et même commentcamarche, crois tu qu'il utilise?
Je sais que mon site aura du succès, donc beaucoup de visite.... Est-ce la façon de faire.
Merci de ton aide!
Pascal
Wow, ok assez complexe mais très bien...
as-tu déjà utilisé cette méthode?
Est-ce que tu crois que cela peut ralentir le site d'aller lire, et ce a chaque changement de page, dans un autre fichier pour savoir comment afficher le contenu?
Un site comme facebook, qui a des millions d'utilisateur actif et ce en même temps, crois-tu qui utilise cette méthode? Et même commentcamarche, crois tu qu'il utilise?
Je sais que mon site aura du succès, donc beaucoup de visite.... Est-ce la façon de faire.
Merci de ton aide!
Pascal
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
17 oct. 2011 à 20:10
17 oct. 2011 à 20:10
Je pense que GetText est la meilleure des solutions, autant du point de vue performances qu'en clarté et en organisation du code.
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 340
18 oct. 2011 à 10:38
18 oct. 2011 à 10:38
Bonjour,
Une solution:
1) avoir un script petit et très simple, nommé selectLangue.php quii contient ceci:
2) exemple de lien qui appelle ce script:
<a href='selectLangue.php?lang=en'>english</a>
<a href='selectLangue.php?lang=fr'>français</a>
<a href='selectLangue.php?lang=de'>deutsch</a>
Quand on clique sur un lien de sélection liguistique, le script selectLangue.php crée un cookie lang qui contient au choix fr ou en ou de... ou tout autre code linguistique de votre choix.
3) en tête de script principal (de préférence en modèle MVC on aura:
<?php
$lang = 'fr';
if (!empty($_COOKIE['lang'])) {
$lang = $_COOKIE['lang'];
}
?>
4) dans un template phtml on exploite$lang comme ceci:
<?php if($lang=='fr'): ?>
<h1>Bienvenue</h1>
<?php elseif($lang=='en'): ?>
<h1>Welcome</h1>
<?php if($lang=='de'): ?>
<h1>Wilkommen</h1>
<?php endif; ?>
A noter que selectLangue peut être appelé depuis n'importe quelle page php, il est programmé pour retourner à cette page. Par exemple, si on l'appelle depuis index.php il renvoie la main à index.php, si on l'appelle depuis listeAnnonces.php, il retournera vers listeAnnonces.php
L'intérêt de mon astuce, c'est qu'il n'est pas nécessaire de créer des versions de pages dans différentes langues, mais seulement de sélectionner des portions de code HTML et/ou PHP selon la langue sélectionné par l'utilisateur.
Exemple de site que j'ai fait sur ce modèle:
http://berniere.camping-car.org/
J'y gère pas moins de 6 langues!
A+
Une solution:
1) avoir un script petit et très simple, nommé selectLangue.php quii contient ceci:
<?php setcookie("lang",$_GET['lang']); $back = $_SERVER['HTTP_REFERER']; header("Location: $back");
2) exemple de lien qui appelle ce script:
<a href='selectLangue.php?lang=en'>english</a>
<a href='selectLangue.php?lang=fr'>français</a>
<a href='selectLangue.php?lang=de'>deutsch</a>
Quand on clique sur un lien de sélection liguistique, le script selectLangue.php crée un cookie lang qui contient au choix fr ou en ou de... ou tout autre code linguistique de votre choix.
3) en tête de script principal (de préférence en modèle MVC on aura:
<?php
$lang = 'fr';
if (!empty($_COOKIE['lang'])) {
$lang = $_COOKIE['lang'];
}
?>
4) dans un template phtml on exploite$lang comme ceci:
<?php if($lang=='fr'): ?>
<h1>Bienvenue</h1>
<?php elseif($lang=='en'): ?>
<h1>Welcome</h1>
<?php if($lang=='de'): ?>
<h1>Wilkommen</h1>
<?php endif; ?>
A noter que selectLangue peut être appelé depuis n'importe quelle page php, il est programmé pour retourner à cette page. Par exemple, si on l'appelle depuis index.php il renvoie la main à index.php, si on l'appelle depuis listeAnnonces.php, il retournera vers listeAnnonces.php
L'intérêt de mon astuce, c'est qu'il n'est pas nécessaire de créer des versions de pages dans différentes langues, mais seulement de sélectionner des portions de code HTML et/ou PHP selon la langue sélectionné par l'utilisateur.
Exemple de site que j'ai fait sur ce modèle:
http://berniere.camping-car.org/
J'y gère pas moins de 6 langues!
A+
bg62
Messages postés
23708
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
11 avril 2025
2 399
18 oct. 2011 à 11:50
18 oct. 2011 à 11:50
??? pas le top en tous cas ... tu as pensé référencement ???
5 pages actuellement dans google ...
et "<meta name="Language" content="fr">
<meta name="description" content="...">
<meta name="keywords" content="...">
<meta name="Robots" content="follow,index,all">
<meta name="REVISIT-AFTER" content="60 days">"
dans toutes les langues !!!
pas trop bien parti là ..... ;)
5 pages actuellement dans google ...
et "<meta name="Language" content="fr">
<meta name="description" content="...">
<meta name="keywords" content="...">
<meta name="Robots" content="follow,index,all">
<meta name="REVISIT-AFTER" content="60 days">"
dans toutes les langues !!!
pas trop bien parti là ..... ;)
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
18 oct. 2011 à 19:44
18 oct. 2011 à 19:44
Salut,
Avec cet exemple ça peut encore passe, mais avec de longs contenus contenant beaucoup de code HTML ...
4) dans un template phtml on exploite$lang comme ceci: <?php if($lang=='fr'): ?> <h1>Bienvenue</h1> <?php elseif($lang=='en'): ?> <h1>Welcome</h1> <?php if($lang=='de'): ?> <h1>Wilkommen</h1> <?php endif; ?>
Avec cet exemple ça peut encore passe, mais avec de longs contenus contenant beaucoup de code HTML ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ch93
Messages postés
5222
Date d'inscription
mardi 18 janvier 2011
Statut
Membre
Dernière intervention
23 janvier 2013
729
Modifié par Ch93 le 18/10/2011 à 10:55
Modifié par Ch93 le 18/10/2011 à 10:55
Salut
Tu peux remplacer les mots par une variable tableau comme ceci...
$lang sera alors défini dans les infos contenu dans ta liste de villes.
Ensuite tu peux avoir différents fichiers php par langues.
Exemple:
Tu trouveras un très bon exemple dans PunBB.
La voiture ça rends con et fainéant !
Vieux motard que jamais ...
Tu peux remplacer les mots par une variable tableau comme ceci...
$lang['Accueil']
$lang sera alors défini dans les infos contenu dans ta liste de villes.
Ensuite tu peux avoir différents fichiers php par langues.
Exemple:
$lang = array('Accueil => 'Home', 'A propos' => 'About us');
Tu trouveras un très bon exemple dans PunBB.
La voiture ça rends con et fainéant !
Vieux motard que jamais ...