Get it on Google Play

Modulo Drupal para negociar el idioma con CloudFlare

31-03-2015
 

Si en algo destaca Drupal es en su adaptabilidad, una prueba de ello es el soporte que da a implementar nuevos sistemas de negociación de idioma por defecto.

Hoy me he encontrado con una incidencia en un portal desarrollado sobre Drupal, que funcionaba en los servidores Cloud de Openshift y que tenia un CloudFlare funcionando como CDN. El problema es que el sistema nativo de negociación con el navegador del idioma por defecto no funcionaba.

Además, no hacia uso de una funcionalidad que aporta CloudFlare. Si usas CloudFlare como CDN te inyecta la variable “$_SERVER[‘HTTP_CF_IPCOUNTRY’]” con el código de país ISO de la petición.

Para crear este nuevo módulo simplemente implementamos el siguiente hook:

Drupal Locale Hook

Drupal Locale Hook

Y finalmente implementamos la función que nos va a resolver el idioma(La lógica de negocio que cada uno se implemente la suya) en el fichero ‘locale.inc’:

Drupal Locale Hook

Drupal Locale Hook

Una vez hecho esto si vamos a la pantalla para configurar los idiomas vemos que nos aparece el nuevo sistema de negociación:

Drupal Idiomas

Drupal Idiomas

Leave a Reply

© Albert Coronado Calzada