Cambiar el idioma de WordPress automáticamente

detectar idioma wordpress

En sitios multilenguaje puede ser de gran utilidad ofrecer que, dependiendo de la configuración de idioma del usuario, detectado del navegador, WordPress cambie de idioma automáticamente.

La idea es que si el navegador del usuario está en un idioma, WordPress se muestre en ese idioma, y si el tema también está bien configurado para la traducción, que también se muestre en el idioma del usuario.

Hay un requisito, y es que tanto el tema como la instalación de WordPress dispongan de los archivos .mo de traducción necesarios, pero si eso no es problema solo tienes que hacer lo siguiente:

:: 1. Crear el archivo con las funciones de cambio de idioma automático ::

Crea un fichero, al que denominarás wp-lang.php en el mismo directorio donde esté el archivo wp-config.php con el siguiente código:

<?php 
// Inicio de sesión 
session_start(); 
 
// si hay un parámetro "lang" en la URL...  
if( isset( $_GET[ 'lang' ] ) ) { 
 
    // ... define una variable de sesión llamada WPLANG basada en el parámetro de la URL...     
    $_SESSION[ 'WPLANG' ] = $_GET[ 'lang' ]; 
 
    // ...y define la constante WPLANG con la variable de sesión WPLANG 
    define( 'WPLANG', $_SESSION[ 'WPLANG' ] ); 
 
// si no hay un parámetro "lang" en la URL...  
} else {
 
    // si la variable de sesión WPLANG ya está establecida...
    if( isset( $_SESSION[ 'WPLANG' ] ) ) {
 
        // ...define la constante WPLANG con la variable de sesión WPLANG 
        define( 'WPLANG', $_SESSION[ 'WPLANG' ] );  
 
    // si la variable de sesión WPLANG no se ha establecido...
    } else { 
         
        // establece la constante WPLANG a tu código de idioma por defecto (o lo dejas vacío si no lo necesitas)        
        define( 'WPLANG', 'es_ES' ); 
             
    } 
} 
?>

Guarda los cambios y pasa al siguiente paso.

:: 2. Modifica el archivo de configuración de WordPress ::

Abre el archivo de configuración de WordPress (wp-config.php) y sustituye la siguiente línea:

define('WPLANG', 'es_ES');

… por esta otra:

require_once( dirname( __FILE__ ) . '/wp-lang.php' );

A partir de ahora, cuando un usuario se identifique en tu sitio verá la administración de WordPress en su idioma (recuerda, si tienes el fichero de idioma correspondiente), y lo mismo para el tema si este también está internacionalizado.

Además, también puedes añadir enlaces del tipo Ver en Español para ofrecer cambios rápidos de idioma a voluntad.

Fuente: StackoverflowTutplus

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(7 votos, promedio: 4)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido