Usar DISQUS en sitios multilenguaje

Recientemente rediseñamos el sitio de nuestra aplicación para la gestión de hoteles, y uno de los cambios más importantes fue poder ofrecer una mejor experiencia a los visitantes según su idioma. También nos interesaba tener una mejor interacción en los comentarios del blog, y para ello decidimos utilizar la plataforma de Disqus, que entre otras cosas, permite suscripciones por correo electrónico a los comentarios, identificación con cuentas de terceros, moderación por e-mail, etc.

Uno de los problemas que encontramos fue que Disqus tiene una configuración global para la cuenta, por lo que la opción que configuras en su panel aplica a todas las conversaciones en el sitio. Sin embargo, escudriñando el código del plugin para WordPress pude hallar un filtro que permite indicar explícitamente el idioma en que se debe cargar la sección de comentarios:

add_filter('disqus_language_filter', function( $lang ){
	// la función pll_current_language es del plugin polylang; y devuelve el idioma de la entrada actual
	$current_language = function_exists('pll_current_language') ? pll_current_language('locale') : 'es_ES';
	// ojo que en Disqus, inglés es "en" pero español "es_ES" :-P
	return $current_language == 'en_US' ? 'en' : $current_language;
});

Y si no estás usando WordPress, puedes indicar el idioma en la configuración del embebible.