stef005
Messages postés3Date d'inscriptiondimanche 29 janvier 2006StatutMembreDernière intervention28 octobre 2010
-
27 oct. 2010 à 21:21
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
28 oct. 2010 à 19:20
Salut à tous, j'ai un problème sur mon code ( cela fait 1 semaine que je suis dessus et cela commence à me brouter grave )
En gros temps que j'ai le cookie tout vas bien une fois supprimé j'ai ça :
Warning: main(lang//general.php): failed to open stream: No such file or directory in c:\program files (x86)\easyphp1-7\www\header.php on line 376
Bon si comprends bien il me dis que ce n'est une erreur suite à la non définition de la langue !
mais je n'arrive pas à définir la langue par défaut sans que cela empiète sur les autres !
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 27 oct. 2010 à 22:17
Salut,
ce petit problème qui me les brises [...]
cela commence à me brouter grave
Un peu de tenue nom de dieu !!!
Warning: main(lang//general.php): failed to open streace petit problème qui me les brises m: No such file or directory in c:\program files (x86)\easyphp1-7\www\header.php on line 376
Et où se trouve cette ligne 376 dans le code que tu postes ?
L'utilisation de la balise code permettrait également de mieux s'y retrouver car elle permet entre autre la coloration syntaxique et l'indentation.
Je ne sais pas trop quoi te répondre étant donné que l'on ne sait pas comment sont définies les variables ($newlang, $lang, $lang_definie, etc ...)
Ton erreur semble montrer que l'une d'entre elles est vide.
Plus de code et d'explications semblent nécessaire.
stef005
Messages postés3Date d'inscriptiondimanche 29 janvier 2006StatutMembreDernière intervention28 octobre 2010 27 oct. 2010 à 22:35
Ben la variable vide est mon cookie qui n'existe pas ^^ là et mon problème.
Quand j'ai le cookie tout baigne mais que dès qu'un nouveau visiteur arrive il a l'erreur
la ligne 376 est : include("lang/$lang_definie/general.php");
celle après le esleif.
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 28 oct. 2010 à 01:17
Salut,
Sinon quand on est un type bien on utilise le accept-language fournis par le client et non un système par cookie qu'on a bidouillé soi même tant bien que mal car on avais envie de réinventer la roue carrée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
stef005
Messages postés3Date d'inscriptiondimanche 29 janvier 2006StatutMembreDernière intervention28 octobre 2010 28 oct. 2010 à 07:23
Salut, j'ai repris mon code de A à Z
Et cela fonctionne, ma roue carré tourne rond
// si changement de langue par l'utilisateur
if (isset($newlang) ) {
if (file_exists("lang/".$newlang."/general.php")) {
setcookie("lang",$newlang,time()+3600 * 24 * 365);
include("lang/$newlang/general.php");
$currentlang = $newlang;
} else {
setcookie("lang",$lang_definie,time()+3600 * 24 * 365);
include("lang/$lang_definie/general.php");
$currentlang = $lang_definie;
}
// sinon on lit la langue du cookie
} elseif (isset($lang)) {
setcookie("lang",$lang,time()+3600 * 24 * 365);
require("lang/$lang/general.php");
$currentlang = $lang;
// lecture de la langue par défaut
} else {
setcookie("lang",Francais,time()+3600 * 24 * 365); // Définition de la langue par défaut
include("lang/Francais/general.php");
$currentlang = Francais;
}
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 28 oct. 2010 à 08:56
Pauvre TychoBrahé, heureusement qu'en son temps il était écouté...
Je vais donc en rajouer une couche : il est toujours bon d'utiliser la variable $_SERVER['HTTP_ACCEPT_LANGUAGE'] définie dans PHP qui permet de connaître les langues préférées du navigateur (et donc a priori de l'utilisateur au lieu de lui filer une langue dont il n'a peut-être rien à faire).
Et si on pousse un peu la rigueur, on peut même carrément utiliser Locale::acceptFromHttp
Et alors si on combine avec gettext, autant dire que la roue n'a plus besoin d'être inventée, juste utilisée.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 28 oct. 2010 à 19:20
@Neige / Tycho :
OK pour l'utilisation de ces méthodes, mais je vois mal comment on peut changer de langue en ne se basant que sur elles (sans bien sûr aller modifier la config du browser)
Rien ne dit que cette
Stef005 a semble t-il de gros problèmes pour répondre aux questions, je me re répète donc :
on ne sait pas comment sont définies les variables ($newlang, $lang, $lang_definie, etc ...)
Peut être que l'une d'entre elles est affectée à la préférence linguistique du browser ...
Thanks pour le Locale::acceptFromHttp que je ne connaissais pas.