Bonjour à tous,
Je sais, le titre est un peux vague mais enfaite je ne sais pas exactement comment formuler mon problème ni si je suis sur la bonne parties du forum.
Mes connaissance en PHP sont assez limitées donc indulgences svp
Je dois créer un site web statique ultra simple pour un client avec 6-7 pages, rien de bien complexe.
Et bien je coince ...
Ce site doit être multilingue (FR-NL-EN) et j'ai deux petit problèmes qui ce pose actuellement.
1°) J'ai choisi de passer par la méthode simple de stocker tous les textes du site dans des variables et de les charger en fonction du choix de la langue et par défaut en FR.
Hors, premier problème, même sans rien avoir choisi il n'affiche rien ...
Normalement à l'endroit ou ce trouve
<? echo _ACCEUIL_INDEX ?>
il devrait afficher la variable associée.
Alors soit j'ai fait un énorme faute de frappe, en oubliant un ";" ou autre, dans mon code (possible, je viens du VB.NET dont pas même style d'écriture) et je ne vois pas ou soit j'ai mon code qui est totalement faux et donc je vous demande de l'aide.
J'ai commencé ce site le 20/11, j'ai consulté moult sites web où j'ai trouvé cette méthode pour le stockage de texte via variable, afin de trouver le plus facile et le plus rapide en développement car le client à un budget restreint.
Voici le code de la page d’accueil.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
<!DOCTYPE html>
<?
if (empty($_GET['lang'])){
$_SESSION['lang'] = 'FR';
}
elseif{
switch ($_SESSION['lang']){
case 'FR':
$_SESSION['lang'] = 'FR';
break;
case 'EN':
$_SESSION['lang'] = 'EN';
break;
case 'NL':
$_SESSION['lang'] = 'NL';
break;
default
$_SESSION['lang'] = 'FR';
break;
}
}
switch($_SESSION['lang']){
case "FR":
$fichier_langage = "lang/fr-lang.php";
break;
case "EN":
$fichier_langage = "lang/en-lang.php";
break;
case "NL":
$fichier_langage = "lang/nl-lang.php";
break;
}
include($fichier_langage);
?>
<html>
<head>
<!-- En-tête de la page -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width"/>
<link rel="stylesheet" href="template.css" />
<title>Accueil</title>
</head>
<body>
<?php include 'Header.html' ?>
<div>
<p></p>
<hr/>
<p></p>
</div>
<div align="center">
<p></p>
<hr/>
<p></p>
<p>TEST</p>
<p><? echo _ACCEUIL_INDEX ?></p>
<p>TEST</p>
</div>
</body>
<hr/>
<footer>
<!-- Pied de la page -->
<div align="center">
<p>2015 - Tout droits réservés</p>
</div>
</footer>
</html> |
Et voici le code du fichier langue FR
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<?
//------------
// index.php
//------------
define('_ACCEUIL_INDEX','Bienvenue sur le nouveau site Web');
define('_ACCEUIL_INDEX2','Bienvenue 2');
//------------
// suite.php
//------------
define('_SUITE_1','Voici notre première suite');
?> |
Je creuse encore le problème mais pour l'instant je suis dans une impasse
voici mon deuxième problème.
Le changement de langue, j'ai mis des petits drapeau sur le site, un pour chaque langue.
Cependant, comment changer la valeur de la variable lorsque je clique dessus ?
J'ai aussi chercher sur internet (peut-être pas encore assez profond) mais pas encore trouvé de solution à ce sujet ou bien il y a des lignes de code que je ne comprend pas ou que je n'aie pas vue ...
De plus, les icônes des drapeau sont contenu dans un header.php qui est appelé dans chacune des pages donc si je met un lien
ce qui donne dans mon Header
<a href="index.php?lang=fr"> <img src="images/drapeau/france-16.png" id="logo2" /> </a>
Comment je fait si je suis sur une autre page que index.php ? je retourne sur la page d'accueil après chaque changement de langue ? => Are you serious ???
Je suis sur que PHP à une technique pour palier à ça, mais malheureusement mes connaissances ne sont pas encore assez poussée à ce sujet.
Merci d'avance à tous pour vos réponses, je suis impatient de vous lire.
A l'impossible nul n'est tenu !
Partager