multilinguisme: tentative via nom de dommaine par langue... ne marche pas... help

Bonjour,

Cela fait des mois que j'essaye de comprendre le multilinguisme et comment l'utiliser dans mon cas...
Je voudrais choisir "la" "langue" non pas en fonction d'un paramettre ?lang=nl ou de la configuration de l'utilisateur.

Je voudrais choisir en fonction de l'URL utilisé pour acceder au site...

Voici l'objectif:
* Si on accede à poureva.fr alors on obtient le site en FR
* Si on accede à vooreva.fr alors on obtient le site en NL

Je ne sais pas vraiment comment faire, alors j'ai fait une tentative de modification du code SPIP (qui ne marche pas et qui est fort spécifique a mes URL utilisés).
Mais si quelqu'un arrive a trouver l'erreur ou me dire quel est l'endroit le plus approprié pour faire ce genre de hack, je suis certain que cela peut intéressé des gens.

Voici mon environnement de test:

Pour avoir un environement de test j'ai rajouté dans mon fichier host:
vvv
# HTTPD VirtualHost
10.0.0.9 poureva.fr
10.0.0.9 vooreva.fr
^^^

Ici 10.0.0.9 est mon serveur de test et poureva.fr et vooreva.fr sont les deux noms de mon site (en pratique c'est poureva.be et vooreva.be mais pour ne pas rendre mon vrais site inaccessible, j'ai sacrifié les .fr qui n'existe pas).

J'ai rajouté au fichier 'inc-public-global.php3' après la section "langue":
---
// Gestion de la langue dans l'URL
[...]
// Test de gestion des langues pour PourEVA.be:
// si HTTP_HOST contient 'poureva' => FR
// si HTTP_HOST contient 'vooreva' => NL
include_ecrire('inc_lang.php3');
if (strpos($_SERVER["HTTP_HOST"],'poureva') !== false) { changer_langue('fr'); }
if (strpos($_SERVER["HTTP_HOST"],'vooreva') !== false) { changer_langue('nl'); }
---

J'ai ensuite créée un "squelette" de test...
fichier lang.html:
---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="$lang" >
<head>
<title>#NOM_SITE_SPIP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="CONTENT-LANGUAGE" content="French">
</head>
<body>
HTTP_HOST= <?echo $_SERVER["HTTP_HOST"]?><br>
<a href="#URL_SITE_SPIP">URL_SITE_SPIP</a><br>
Block multi: <multi>[zz]No Context[nl]Neerlandais[fr]Francais</multi><br>
Fichier lang: BONJOUR= <:bonjour:> <br>
Menu langue: #MENU_LANG <br>
</body>
</html>
---

fichier lang.php3:
---
<?php
$fond = "lang";
$delais = 2 * 3600;

include ("inc-public.php3");
?>
---

Et bien, la plus part du temps... tout est en Français. :frowning:

Quelques questions:
1) Est-ce que ce genre de ligne peut marcher?:
if (strpos($_SERVER["HTTP_HOST"],'poureva') !== false) { changer_langue('fr'); }
2) Où vaut-il mieux les mettre dans le code (j'ai choisi inc-public-global.php3 faute de mieux.
3) Que peut-on rajouté de plus dans mon squelette?
4) Comment faire pour que la ligne CONTENT-LANGUAGE soit corrected?:
<meta http-equiv="CONTENT-LANGUAGE" content="French">
5) Quelles autres indicateurs dans lang.html peuvent être utilisé pour bin comprendre?

Merci.

David GLAUDE

J'ai changé le body de mon fichier lang.html pour essayer de comprendre:
<body>
HTTP_HOST= <?echo $_SERVER["HTTP_HOST"]?><br>
Block multi: <multi>[zz]No Context[nl]Neerlandais[fr]Francais</multi><br>
Fichier lang: BONJOUR= <:bonjour:> <br>
# LANG = #LANG <br>
lang: <?echo $lang ?><br>
spip_lang: <?echo $spip_lang ?><br>
Menu langue: #MENU_LANG <br>
</body>

Un peu plus sur les résultats:

http://poureva.fr/apache2-default/lang.php3:
HTTP_HOST= poureva.fr
Block multi: Francais
Fichier lang: BONJOUR= Bonjour
# LANG = fr
lang:
spip_lang: *fr*
Menu langue: *français*

http://poureva.fr/apache2-default/lang.php3?recalcul=oui&submit=Recalculer+cette+page+*
HTTP_HOST= poureva.fr
Block multi: Francais
Fichier lang: BONJOUR= Bonjour
# LANG = fr
lang:
spip_lang: *fr*
Menu langue: *français*

http://vooreva.fr/apache2-default/lang.php3:
HTTP_HOST= vooreva.fr
Block multi: Francais
Fichier lang: BONJOUR= Bonjour
# LANG = fr
lang:
spip_lang: *nl*
Menu langue: *Nerlandais*

http://vooreva.fr/apache2-default/lang.php3?recalcul=oui&submit=Recalculer+cette+page+*
HTTP_HOST= vooreva.fr
Block multi: Francais
Fichier lang: BONJOUR= Bonjour
# LANG = fr
lang:
spip_lang: *fr*
Menu langue: *français*

Alors il me reste quelques questions:
* quel est l'interraction avec le cache (et pourquoi le résultat est différent avec ?recalcul=oui&submit=Recalculer+cette+page+* ?)
* comment faire pour changer le "Bonjour" et autre résultat dans le block multi? Car c'est cela que je veux faire essentiellement.

Encore un grand merci à ceux qui comprenne ce que j'essaye de faire et qui ont les compétences pour trouver l'erreur où la meilleur façons de faire.

David GLAUDE

David GLAUDE wrote:

J'ai rajouté au fichier 'inc-public-global.php3' après la section "langue":
---
include_ecrire('inc_lang.php3');
if (strpos($_SERVER["HTTP_HOST"],'poureva') !== false) { changer_langue('fr'); }
if (strpos($_SERVER["HTTP_HOST"],'vooreva') !== false) { changer_langue('nl'); }
---

--
Don't let computer expert control election...
Endorse: http://www.free-project.org/resolution/
For Belgium: http://www.poureva.be/

J'espère que ceci n'est pas un doublon... mais je ne vois pas ma réponse sur la liste...

J'ai changé le body de mon fichier lang.html pour essayer de comprendre:
<body>
HTTP_HOST= <?echo $_SERVER["HTTP_HOST"]?><br>
Block multi: <multi>[zz]No Context[nl]Neerlandais[fr]Francais</multi><br>
Fichier lang: BONJOUR= <:bonjour:> <br>
# LANG = #LANG <br>
lang: <?echo $lang ?><br>
spip_lang: <?echo $spip_lang ?><br>
Menu langue: #MENU_LANG <br>
</body>

Un peu plus sur les résultats:

http://poureva.fr/apache2-default/lang.php3:
HTTP_HOST= poureva.fr
Block multi: Francais
Fichier lang: BONJOUR= Bonjour
# LANG = fr
lang:
spip_lang: *fr*
Menu langue: *français*

http://poureva.fr/apache2-default/lang.php3?recalcul=oui&submit=Recalculer+cette+page+*
HTTP_HOST= poureva.fr
Block multi: Francais
Fichier lang: BONJOUR= Bonjour
# LANG = fr
lang:
spip_lang: *fr*
Menu langue: *français*

http://vooreva.fr/apache2-default/lang.php3:
HTTP_HOST= vooreva.fr
Block multi: Francais
Fichier lang: BONJOUR= Bonjour
# LANG = fr
lang:
spip_lang: *nl*
Menu langue: *Nerlandais*

http://vooreva.fr/apache2-default/lang.php3?recalcul=oui&submit=Recalculer+cette+page+*
HTTP_HOST= vooreva.fr
Block multi: Francais
Fichier lang: BONJOUR= Bonjour
# LANG = fr
lang:
spip_lang: *fr*
Menu langue: *français*

Alors il me reste quelques questions:
* quel est l'interraction avec le cache (et pourquoi le résultat est différent avec ?recalcul=oui&submit=Recalculer+cette+page+* ?)
* comment faire pour changer le "Bonjour" et autre résultat dans le block multi? Car c'est cela que je veux faire essentiellement.

Encore un grand merci à ceux qui comprenne ce que j'essaye de faire et qui ont les compétences pour trouver l'erreur où la meilleur façons de faire.

David GLAUDE

David GLAUDE wrote:

> J'ai rajouté au fichier 'inc-public-global.php3' après la section "langue":
> ---
> include_ecrire('inc_lang.php3');
> if (strpos($_SERVER["HTTP_HOST"],'poureva') !== false) { changer_langue('fr'); }
> if (strpos($_SERVER["HTTP_HOST"],'vooreva') !== false) { changer_langue('nl'); }
> ---

--
Don't let computer expert control election...
Endorse: http://www.free-project.org/resolution/
For Belgium: http://www.poureva.be/