Here’s some slightly more rubust code to check the browser preferences and offer the fuirst language that is available on the WordPress site:
// ====================================================
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
// default language
$wplang = ”;
// try and set language from browser preferences
if (isset($_SERVER[‘HTTP_ACCEPT_LANGUAGE’])) {
$langs = explode(‘,’, str_replace(‘ ‘, ”, strtolower($_SERVER[‘HTTP_ACCEPT_LANGUAGE’])));
foreach ($langs as $lang) {
if ($strpos = strpos($lang, ‘;’)) {
$lang = substr($lang, 0, $strpos);
}
if ($lang==’en’ || is_file(ABSPATH . “wp-content/languages/$lang.mo”)) {
$wplang = $lang;
break;
}
if ($strpos = strpos($lang, ‘-‘)) {
$lang = substr($lang, 0, $strpos);
if ($lang==’en’ || is_file(ABSPATH . “wp-content/languages/$lang.mo”)) {
$wplang = $lang;
break;
}
}
}
}
define (‘WPLANG’, $wplang);
unset($langs, $lang, $strpos, $wplang);
// ====================================================