Traducir el theme de WordPress según el idioma del navegador (no el contenido)
WordPress se puede utilizar para muchas cosas y no sólo para crear un blog. En el caso de que quieras realizar un blog multi-idioma y necesites traducir el blog según el idioma del navegador del usuario, no el contenido, que para eso hay algún plugin, tan sólo deberemos añadir lo siguiente a nuestro functions.php:
function set_language($locale) {
if (isset($_SERVER ["HTTP_ACCEPT_LANGUAGE"])) {
$langs = $_SERVER ["HTTP_ACCEPT_LANGUAGE"];
$langs = explode(',', $langs);
$langs = $langs[0];
$langs = explode('-', $langs);
return $langs[0].'_'.strtoupper($langs[1]);
} else {
return $locale;
}
}
add_filter( 'theme_locale', 'set_language');
Con esto conseguimos que si el lenguaje de nuestro navegador sea es-es, pase a es_ES y con ese locale, pues podemos usarlo en la traducción del theme junto a la función load_theme_textdomain