WordPress: Sitios multilingues con QTranslate

Categories: Wordpress - Tags: , ,

Existen algunos plugins para WordPress que realizan traducciones automáticas usando servicios de Google Translate u otros sin embargo los resultados no son del todo precisos, además no permiten traducir imágenes y muchos de ellos no mantienen la URL por lo que tampoco se indexan todos los idiomas en los buscadores.

Hay una solución a todos esos problemas pero por supuesto es más trabajosa ya que es manual sin embargo es la que reporta los mejores resultados, podemos bajar el plugin gratuito QTranslate desde su sitio http://www.qianqin.de/qtranslate/download/

Configuración Básica

Lo primero que debemos hacer una vez instalado el plugin es definir los idiomas que vamos a utilizar además del idioma por defecto para eso buscamos el menu Ajustes/Idiomas y allí veremos la lista de idiomas, podemos definir nuevos idiomas pero siempre teniendo en cuenta los codigos de idioma por eejemplo en español es_ES en ingles en_EN o en_US esto es util por si subimos los archivos .po y .mo a Worpdress todo funcione de forma coordinada.

¿Cómo Escribir en Múltiples Idiomas?

Una vez instalado el plugin cuando escribamos un post o una página aparecerá una casilla para el título en cada idioma y unos tabs para elegir en que idioma se va a escribir el post o la página, por defecto los posts y páginas previamente creados se duplican a todos los idiomas disponibles.

Cuando vayamos a Post/Categorias también veremos que por cada idioma aparece un nuevo campo para escribir el nuevo nombre

Una vez definidos los idiomas el siguiente paso es colocar el widget de idioma en el menu Apariencia/Widgets y así el vistante pueda elegir el idioma en que desea ver el sitio.

¿Cómo traducir campos personalizados, plugins y codigo PHP?

Hasta el item anterior era lo más básico ahora compliquemos las cosas, por defecto los campos personalizados, codigo PHP y respuestas de otros plugins no son traducidos sin embargo existen unas etiquetas que nos permiten realizar esto de forma sencilla, veamos el ejemplo de estas dos etiquetas para español e inglés

1
[:es]Valor de mi campo personalizado en español[:en]Value of my customized field in english

Lo anterior es equivalente a:

1
<!--:es-->Valor de mi campo personalizado en español<!--:--><!--:en-->Value of my customized field in english<!--:-->

Si añadimos esas etiquetas en nuestro código PHP cuando realizamos un echo obtendremos el texto correspondiente al idioma seleccionado

Para traducir la respuesta de un campo personalizado se soluciona fácilmente añadiendo una función a nuestro código, como en el ejemplo:

1
2
3
4
5
6
<?php
            $mykey_values = get_post_custom_values('subfooter');
            foreach ( $mykey_values as $key => $value ) {
                echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($value);
            }
            ?>

En el ejemplo recojo el valor del custom field llamado “subfooter” y con la función qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage hago que discrimine el valor según el idioma elegido.

Cuando se trata de traducir la respuesta proveniente de plugin es posible que tengamos que modificar el código del plugin utilizando esa función sin embargo si el plugin utiliza short tags hay una forma sencilla de traducirlo

Primero veamos la función original usando short code en este caso estoy usando para recoger un formulario del plugin Contact Form 7 [contact-form-7 id="170" title="Form Contacto"]

1
<?php echo do_shortcode('[contact-form-7 id="170" title="Form Contacto"]'); ?>

Al aplicarle el filtro de idioma quedaría:

1
<?php echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage(do_shortcode('[contact-form-7 id="170" title="Form Contacto"]')); ?>

Niño Bicéfalo: Fotos exposición art toys

Categories: Diseño, Otros - Tags:

Usualmente posteo sobre diseño, desarrollo web y afines pero este tema de los art toys me parece interesante, así que publico algunas fotos de la exposición realizada por el grupo Niño Bicéfalo de la ciudad de Arequipa – Perú, como verán hay de todo estilo, algunos tiernitos y otros bastante sangrientos  :)

           

Niño Bicéfalo: Exposición Art Toys

Categories: Eventos - Tags: ,

Para aquellos que viven en Arequipa – Perú les comento que el Grupo de Diseñadores Niño Bicéfalo esta organizando una exposición de Art Toys para los días 27, 28 y 29 de Setiembre.

Para aquellos que no pueden ir pero de todas formas están interesados en saber que es eso, les comento que los art toys son figuras de distintos materiales y formas, de color blanco para que las personas que los adquieren se encarguen de personalizarlos no sólo pintándolos, hay personas que incluso les agregan accesorios como parlantes, luces, etc.

Existen ediciones especiales coleccionables que pueden llegar a costar mucho dinero, creadas por artistas reconocidos en otras artes como grafitty, pintura, etc…

En fin no les digo que dejen el mundo del diseño y se dedican a fabricar art toys pero si estabas en busca de algún hobby para relajarte pues esta es una opción interesante.

Finalmente pueden ver un video del evento AQUI

Prestashop: Variables globales para plantillas

Categories: Prestashop - Tags: ,

A la hora de desarrollar una plantilla para Prestashop o cualquier otro CMS, tienda virtual, blog, es necesario siempre considerar las variables globales del sitio, como son las rutas de la plantilla, la ruta del sitio, etc por si en algún momento movemos el sitio a otro dominio o si se va a rehusar la plantilla estemos seguros que seguirá funcionando.

Aqui una lista de las variables que pueden ser usadas en cualquier parte de una plantilla para Prestashop:

  • $base_dir { Directorio raíz de la tienda }
  • $base_dir_ssl { Directorio raiz utilizando el protocolo SSL }
  • $content_dir { La carpeta de los contenidos }
  • $img_ps_dir { La carpeta donde van las imagenes usualmente “/img/” }
  • $img_dir { Carpeta de imágenes pero a diferencia del anterior se refiere a la carpeta en la plantilla }
  • $css_dir { Carpeta de la plantilla donde van los archivos CSS }
  • $js_dir { Carpeta de la plantilla donde va el javascript }
  • $tpl_dir { La carpeta donde esta nuestra plantilla }
  • $modules_dir { La carpeta donde van los módulos }
  • $mail_dir { La carpeta donde están las plantillas de los correos  }
  • $lang_iso { Código ISO del idioma }
  • $come_from { ruta absoluta previa [absolute] }
  • $shop_name { Nombre de la tienda }
  • $cart_qties { Número total de productos }
  • $cart { Contenidos del carrito }
  • $currencies { Monedas disponibles }
  • $id_currency_cookie { Id de la moneda activa }
  • $currency { moneda activa }
  • $cookie { cookie activa }
  • $languages { muestra los lenguajes disponibles }
  • $logged { Reviza si el usuario esta logeado }
  • $page_name { Titulo de la página actual }
  • $customerName { Nombre del cliente [depende de la sesión] }
  • $priceDisplay { Configuración para mostrar el precio  [depende la moneda] }

PHP: variables de nombre variable

Categories: PHP - Tags: ,

Las variables de nombre variable o variables variables, valga la redundancia son muy útiles a la hora de ahorrar programación ya que permite generar nombres de variables dinamicamente sobre todo en bucles y funciones.

La forma normal de crear una variables es $x=1

Pero que ocurre si tenemos que crear un bucle donde debemos asignar valores a $x1, $x2, $x3…. no sería buena idea asignar una por una, si estamos dentro de un bucle sería algo como:

1
2
3
foreach ($arr as &$value) {
   ${'x'.$i} = "valor de variable";
}

Lo mismo sirve también para usar los valores almacenados en una variable.