Teddy Payet | 20 Nov 10:49

Re: MUltilinguiasme, detection langue: cookie, navigateur, défaut

Bonjour,

Je ne pourrai répondre à tout mais il me semble préférable de faire l'appel $_server[HTTP_ACCEPT_LANGUAGE] non?
Plus pérenne?

Par la suite, la logique que tu veux adopter est: spip_lang_cookies, lang_select et enfin langue du navigateur...
Ne peux-tu pas faire (je schématise) :
if spip_lang_cookies
else { if { lang_select

else { langue_navigator

(PS: je ne suis pas dév...)

Le 20 novembre 2008 08:56, Rainer Müller <rainer.muller <at> gmx.net> a écrit :
Je me permets de remettre ça, en espérant que quelq'un puisse me donner une idée Bonjour, Pour un un site ou chaque rubrique est traduit dans les différentes langues du site. (pas de langue par secteur), j'aimerais que la page sommaire soit affiché d'abord dans la langue du cookie si disponible, puis dans la langue du navigateur et en dernier lieu la langue par défaut. J'utilise le code suivant dans mon squelette sommaire qui détecte bien les cookie et sinon renvoie à la langue par défaut, par contre ça ne détecte pas la langue du navigateur. <?php // Regler la langue courante selon les infos envoyees par le brouteur // function regler_langue_navigateur() { global $HTTP_SERVER_VARS, $HTTP_COOKIE_VARS; if ($cookie_lang = $HTTP_COOKIE_VARS['spip_lang']) { if (changer_langue($cookie_lang)) return $cookie_lang; } $accept_langs = explode(',', $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE']); if (is_array($accept_langs)) { while(list(, $s) = each($accept_langs)) { if (eregi('^([a-z]{2,3})(-[a-z]{2,3})?(;q=[0-9.]+)?$', trim($s), $r)) { $lang = strtolower($r[1]); if (changer_langue($lang)) return $lang; } } } return true; } ?> Quelqu'un pourrait m'aider à intégrer la détection de la ngue du navigateur? Merci Rainer _______________________________________________ liste spip spip <at> rezo.net - désabonnement : spip-off <at> rezo.net Infos et archives : http://listes.rezo.net/mailman/listinfo/spip Documentation de SPIP : http://www.spip.net/ irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

_______________________________________________
liste spip
spip <at> rezo.net - désabonnement : spip-off <at> rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip


<div>
<p>Bonjour,<br><br>Je ne pourrai r&eacute;pondre &agrave; tout mais il me semble pr&eacute;f&eacute;rable de faire l'appel $_server[HTTP_ACCEPT_LANGUAGE] non?<br>Plus p&eacute;renne?<br><br>Par la suite, la logique que tu veux adopter est: spip_lang_cookies, lang_select et enfin langue du navigateur...<br>
Ne peux-tu pas faire (je sch&eacute;matise) :<br>if spip_lang_cookies<br>else { if { lang_select<br></p>
<div>else { langue_navigator<br>
</div>
<br>(PS: je ne suis pas d&eacute;v...)<br><br><div class="gmail_quote">
Le 20 novembre 2008 08:56, Rainer M&uuml;ller <span dir="ltr">&lt;<a href="mailto:rainer.muller <at> gmx.net">rainer.muller <at> gmx.net</a>&gt;</span> a &eacute;crit :<br><blockquote class="gmail_quote">

<div bgcolor="#ffffff" text="#000000">
<div lang="x-western">
Je me permets de remettre &ccedil;a, en esp&eacute;rant que quelq'un puisse me donner une id&eacute;e

Bonjour,

Pour un un site ou chaque rubrique est traduit dans les diff&eacute;rentes
langues du site. (pas de langue par secteur),
j'aimerais que la page sommaire soit affich&eacute; d'abord dans la langue du
cookie si disponible, puis dans la langue du navigateur et en dernier
lieu la langue par d&eacute;faut.

J'utilise le code suivant dans mon squelette sommaire qui d&eacute;tecte bien
les cookie et sinon renvoie &agrave; la langue par d&eacute;faut, par contre &ccedil;a ne
d&eacute;tecte pas la langue du navigateur.

&lt;?php

// Regler la langue courante selon les infos envoyees par le brouteur
//
function regler_langue_navigateur() {
        global $HTTP_SERVER_VARS, $HTTP_COOKIE_VARS;

        if ($cookie_lang = $HTTP_COOKIE_VARS['spip_lang']) {
                if (changer_langue($cookie_lang)) return $cookie_lang;
        }

        $accept_langs = explode(',',
$HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE']);
        if (is_array($accept_langs)) {
                while(list(, $s) = each($accept_langs)) {
                        if
(eregi('^([a-z]{2,3})(-[a-z]{2,3})?(;q=[0-9.]+)?$', trim($s), $r)) {
                                $lang = strtolower($r[1]);
                                if (changer_langue($lang)) return $lang;
                        }
                }
        }
        return true;
}
?&gt;

Quelqu'un pourrait m'aider &agrave; int&eacute;grer la d&eacute;tection de la ngue du navigateur?

Merci
Rainer

_______________________________________________
liste spip
<a href="mailto:spip <at> rezo.net" target="_blank">spip <at> rezo.net</a> - d&eacute;sabonnement : <a href="mailto:spip-off <at> rezo.net" target="_blank">spip-off <at> rezo.net</a>

Infos et archives : <a href="http://listes.rezo.net/mailman/listinfo/spip" target="_blank">http://listes.rezo.net/mailman/listinfo/spip</a>

Documentation de SPIP : <a href="http://www.spip.net/" target="_blank">http://www.spip.net/</a>

<a>irc://irc.freenode.net/spip</a> ou <a href="http://embed.mibbit.com/?server=irc.freenode.net&amp;channel=%23spip" target="_blank">http://embed.mibbit.com/?server=irc.freenode.net&amp;channel=%23spip</a>

</div>
</div>

<br>_______________________________________________<br>
liste spip<br><a href="mailto:spip <at> rezo.net">spip <at> rezo.net</a> - d&eacute;sabonnement : <a href="mailto:spip-off <at> rezo.net">spip-off <at> rezo.net</a><br><br>
Infos et archives : <a href="http://listes.rezo.net/mailman/listinfo/spip" target="_blank">http://listes.rezo.net/mailman/listinfo/spip</a><br><br>
Documentation de SPIP : <a href="http://www.spip.net/" target="_blank">http://www.spip.net/</a><br><br>
irc://<a href="http://irc.freenode.net/spip" target="_blank">irc.freenode.net/spip</a> ou <a href="http://embed.mibbit.com/?server=irc.freenode.net&amp;channel=%23spip" target="_blank">http://embed.mibbit.com/?server=irc.freenode.net&amp;channel=%23spip</a><br><br>
</blockquote>
</div>
<br>
</div>

Gmane