[PHP] Plusieurs langues dans un seul fichier - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 




Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [PHP] Plusieurs langues dans un seul fichier
 
Eh ouais, c'est Rennou !
Profil : IDNaute
Plus d'informations

Bonjour !
Je suis en train de faire un site multiligue (pour l'instant français et anglais mais pourquoi pas plus plus tard).
C'est pour ça que j'ai besoin d'un système pratique.

J'ai fait ça vite fait donc j'ai une page PHP qui inclus soit page-fr.html soit page-en.html en fonction de la valeur du paramètre langue.

Mais deux fichiers différents pour chaque page, ça va vite devenir compliqué, donc je préfèrerais un seul fichier page.html pour chaque page avec dedans un truc du genre :

Citation :

[FR] première ligne en français
[EN] first line in english
[ES] primera linea en español

[FR] deuxième ligne en français
[EN] second line in english
[ES] segunda linea en español


Et le script php qui inclus la page page.html fait le tri en ne prenant que les bonnes lignes.
Il faudrait aussi que les lignes sans marqueur de langue devant soient toujours incluses.

Je pense que c'est possible mais je ne sais pas du tout comment faire.

Liens sponsorisés


Inscrivez-vous ou connectez-vous pour masquer ceci.

Paranoid Android
Profil : IDNaute
Plus d'informations

Salut,

Mauvaise technique.
Voici un petit tuto pour gérer l'internationnalization en php.
Il y a d'autres tutoriaux, mais c'est en gros la technique à utilisé.
http://www.phpdebutant.org/article107.php


---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Eh ouais, c'est Rennou !
Profil : IDNaute
Plus d'informations

En gros c'est le même système que ce que j'ai actuellement, avec deux fichiers.
Ça m'arrange pas trop. J'ai déjà vu dans phpBB, il y a certaines parties du code HTML qui sont ignorées ou non par le script PHP. J'ai pas bien compris comment c'était fait, mais je voudrais la même chose.
Je vais essayer de me replonger dans le code de phpBB en attendant.

Paranoid Android
Profil : IDNaute
Plus d'informations

Heu, non, c'est pas tout à fait le même systeme.
Ici, on définit des constantes.
Genre :
fichier-fr.inc.php
CONST_HELLO=Bonjour
fichier-en.inc.php
CONST_HELLO=Hello

Et apres, lorsque l'on veut afficher bonjour, on appelle une fonction qui va prendre en compte la langue utilisée, et inclure me bon fichier de langue.


---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Eh ouais, c'est Rennou !
Profil : IDNaute
Plus d'informations

Finalement, j'ai trouvé une autre solution pas mal :

Je transforme page.html en page.php et je met ça dedans :

Citation :

<?php
if (langue==fr) {echo "en français";}
if (langue==en) {echo "in english";}
if (langue==es) {echo "en español";}
echo "<br />\n";
?>

http://127.0.0.1
Profil : IDNaute
Plus d'informations

au risque de paraitre chiant, ton système ne gère pas le cas d'une langue non définie (voir une langue par défaut) et peut très vite devenir lourd.
Oriente toi plutôt vers switch:

Code :
  1. <?
  2. switch($langue) {
  3.   case "en":
  4.       echo "in english";
  5.       break;
  6.   case "es":
  7.       echo "en español";
  8.       break;
  9.   default:
  10.       echo "en français";
  11.       break;
  12. }
  13. echo "<br />\n";
  14. ?>

Eh ouais, c'est Rennou !
Profil : IDNaute
Plus d'informations

Si, j'ai mis la gestion de la langue par défaut, mais j'ai pas mis tout mon code (c'est dans un autre fichier que ça se passe).

Merci pour ton code, je verrais ça.
Mais j'ai déjà une idée pour faire ce que j'avais dit au début, je vais essayer.

Eh ouais, c'est Rennou !
Profil : IDNaute
Plus d'informations

Voilà, j'ai réussi !

Mon script PHP :

Citation :

<?php
$fichier = file('http://XXXXXXXX/page.html');

for ($i=0;$i<count($fichier); $i++)
{
$ligne = explode("]",$fichier[$i]);
if ($ligne[0] == $langue || !$ligne[0])
{
echo $ligne[1] . "\n";
}
}
?>


Et dans page.html :

Citation :

fr]En français.
en]In english
es]En español
]<br />


  FORUM Infos-du-Net » Programmation » [PHP] Plusieurs langues dans un seul fichier

Aller à :
 

Liens