Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Dudas con web miltilingual

Estas en el tema de Dudas con web miltilingual en el foro de WordPress en Foros del Web. Buenos días a todos, Éste es mi primer post en el foro de wordpress y supongo que no será el último. :) mi pregunta es ...
  #1 (permalink)  
Antiguo 05/05/2014, 03:07
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 11 años, 10 meses
Puntos: 47
Dudas con web miltilingual

Buenos días a todos,

Éste es mi primer post en el foro de wordpress y supongo que no será el último. :)

mi pregunta es la siguiente.

Estoy haciendo mi primer site con wordpress y me he creado un template desde cero (usando bootstrarp).

Para la traducción he usado un pluging de pago llamado WPML. (no sé si lo conocéis y si tenéis opinión sobre él, si la tenéis y me la queréis dar os lo agradeceré)

El caso es que me estoy encontrando varios inconvenientes que no voy a contar por no extenderme pero a los que estoy intentando buscar solución y para ello necesito saber alguna cosa que otra.

¿cómo puedo crearme varias single.php, una para cada idioma? o ¿cómo puedo crear un condicional que me diga if (el idioma = español ){haga esto } else {haga otra cosa}?

Creo que voy a necesitar hacer más preguntas pero a ver hasta dónde puedo llegar con esto si me podéis ayudar.

Un saludo y muchas gracias de antemano.
  #2 (permalink)  
Antiguo 05/05/2014, 05:46
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 10 años, 5 meses
Puntos: 49
Respuesta: Dudas con web miltilingual

WPML es buen plugin, de los mejores para traducción bajo mi punto de vista. Como está bien documentado y tiene buen soporte deberías hacer uso de él.

Para tu problema de single.php iremos por partes:

1- ¿Necesitas solo cambiar textos específicos de la plantilla (escritos en bruto) en función del idioma? En ese caso no necesitas crear varios single.php por cada idioma, lo que necesitas es utilizar la función __() (o cualquiera de sus variantes) para mostrar los textos de la plantilla:

http://codex.wordpress.org/Translating_WordPress

2- Si lo que necesitas es cambiar la plantilla (estructura, estilo...) en función del idioma seleccionado deberás hacerlo con condicionales tal y como sugieres (o con switch). Para ello debes leer la documentación de WPML y descubrir como saber el idioma actual seleccionado por el usuario:

http://wpml.org/documentation/support/wpml-coding-api/

En la documentación especifica que WPML genera una constante llamada ICL_LANGUAGE_CODE que guarda el código del país. Ya tienes como montar tus IF:

Código PHP:
Ver original
  1. if( ICL_LANGUAGE_CODE == 'fr' ) {
  2.    
  3.     //código a mostrar si se ha seleccionado como idioma el FRANCÉS.
  4.    
  5. }

Puedes crear todo tu código PHP en el archivo single.php pero probablemente te será más cómodo seccionarlo en distintos archivos como piezas de un puzzle y llamarlos desde single.php con la función get_template_part():

https://codex.wordpress.org/Function..._template_part

Un ejemplo sencillito de un posible single.php:

Código PHP:
Ver original
  1. <article id="post-<?php the_ID(); ?>" <?php post_class(); ?> >
  2.  
  3.     <?php if ( ICL_LANGUAGE_CODE == 'fr' ) : // Si el francés es el idioma actual mostraremos una plantilla específica ?>
  4.    
  5.         <?php get_template_part( 'content', 'frances' ); ?>
  6.        
  7.     <?php else: // Si no está seleccionado como idioma el francés, mostrará la plantilla genérica ?>
  8.        
  9.         <?php get_template_part( 'content', 'estandar' ); ?>
  10.    
  11.     <?php endif; ?>
  12.  
  13. </article>
  #3 (permalink)  
Antiguo 05/05/2014, 10:17
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 11 años, 10 meses
Puntos: 47
Respuesta: Dudas con web miltilingual

Hola Alejandro,

Muchísimas gracias pro tu respuesta. Cierto lo que dices de la documentación, y de verdad que llevo mucho tiempo buscando e intentando dar con la solución, lo que pasa es que voy muy muy mal de tiempo y estoy muy agobiado con esto y es muy probable que los nervios me estén bloqueando más de la cuenta. De hecho "ICL_LANGUAGE_CODE" lo he estado leyendo pero al final creí que no servía para lo que quería.

Lo dicho, no sabes lo que me has ayudado, ya tengo por donde tirar para seguir. A ver qué tal. ME pongo con ello.

un saludo!!! gracias gracias!!!!
  #4 (permalink)  
Antiguo 05/05/2014, 10:49
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 10 años, 5 meses
Puntos: 49
Respuesta: Dudas con web miltilingual

Me alegro que te haya servido de utilidad, no dudes en preguntar.

Etiquetas: dudas, plugin, post, tema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:58.