On 3/30/07, Javier Valcarce GarcĂa <javier.valcarce(a)gmail.com> wrote:
Hi. Logged users have their own interface based on
their user's
preferences. If you want Content Negotiation (mainly language) for
anonymous users I don't know if this is possible. I'm interested also
in the latter.
well something like this will work :)
$langs = array( 'en', 'fr', 'he' );
$wgLanguageCode = $langs[(rand()%3)];
if thats not viable something similar to this the following will work
as well. it would all be overwritten i guess by either 'if user is
logged in use what they have in the database'
$wgLanguageCode = chooseLang($langs);
// a cut and paste from google
function chooseLang($availableLangs)
{
$pref=array();
foreach(split(',', $_SERVER["HTTP_ACCEPT_LANGUAGE"]) as $lang) {
if (preg_match('/^([a-z]+).*?(?:;q=([0-9.]+))?/i',
$lang.';q=1.0', $split)) {
$pref[sprintf("%f%d", $split[2],
rand(0,9999))]=strtolower($split[1]);
}
}
krsort($pref);
return array_shift(array_merge(array_intersect($pref,
$availableLangs), $availableLangs));
}
--
Gabriel Millerd