¿Cómo traducir contenido en category.php o index.php con qtranslate?

12 jul 2013, 12:05:34
Vistas: 27.4K
Votos: 3

Me preguntaba cómo traducir contenido en index.php (o category.php con qtranslate).

Estoy usando el tema Twenty Twelve.

Mi código en index.php:

<?php
/**
* El archivo principal de plantilla.
* @package WordPress
* @subpackage Twenty_Twelve
* @since Twenty Twelve 1.0
*/
?>
<?php get_header(); ?>
<?php 
$page_id = 1500;
$page_data = get_page( $page_id );
echo apply_filters('the_content', $page_data->post_content);
?>
<section id="last-articles_homepage">
<h1>Latest News</h1>
...

Me gustaría traducir el contenido dentro de las etiquetas <section> y <h1> por ejemplo al francés.

4
Comentarios

¿Has leído las instrucciones del plugin? Nunca lo he usado, pero las instrucciones sugieren que es tan simple como visitar una página/entrada con un argumento de idioma en la URL, por ejemplo: ?lang=en o ?lang=fr...

t31os t31os
12 jul 2013 12:30:43

¿Entonces quieres traducir este texto estático: 'Últimas Noticias'?

Krzysiek Dróżdż Krzysiek Dróżdż
12 jul 2013 12:30:55

@KrzysiekDróżdż : exactamente. He intentado usar [en:]textoinglés[fr:]textofrancés en lugar del texto estático, pero no funciona. (disculpa mi inglés deficiente)

Exalight3666 Exalight3666
12 jul 2013 12:46:37

Los dos puntos : deben ir antes del idioma, no después. Ejemplo: [:en]

Mario Radomanana Mario Radomanana
15 abr 2014 14:19:26
Todas las respuestas a la pregunta 4
3
10

Esta solución funcionó para mí

<?php echo __('[:fr]Plus[:en]More'); ?>

Nota: el " : " va antes del idioma, no después

15 abr 2014 09:44:54
Comentarios

En mi humilde opinión, la mejor respuesta. Corta, simple y funciona bien.

Julia Julia
10 feb 2017 14:24:50

Sí, la mejor respuesta, funcionó bien para mí con qTranslate-X 3.4.6.8

kazes kazes
14 feb 2017 14:31:35

Según las preguntas frecuentes, esta es una forma recomendada de hacerlo. https://qtranslatexteam.wordpress.com/faq/

Arsen Kazydub Arsen Kazydub
18 ene 2021 11:54:24
4

La forma más correcta de hacer esto sería utilizando las traducciones de WordPress.

Deberías reemplazar este texto estático con:

<?php _e('TU TEXTO', 'tu_dominio_de_texto'); ?>

Y agregar el dominio de texto a tu tema.

Más sobre este tema: http://codex.wordpress.org/I18n_for_WordPress_Developers

También puedes...

... usar la función qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage.

Úsala de esta manera:

<?php echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage('<!--en:-->Últimas Noticias<!--:--><!--fr:-->dernières Nouvelles<!--:-->'); ?>
12 jul 2013 12:58:19
Comentarios

no funciona... cuando lo coloco, veo el texto en ambos idiomas en la misma página :/ incluso si los otros bloques de texto se muestran en el idioma correcto (porque son editables desde el panel de administración de WordPress)

Exalight3666 Exalight3666
12 jul 2013 14:57:15

¿Qué solución estás usando? Publica tu código, por favor

Krzysiek Dróżdż Krzysiek Dróżdż
12 jul 2013 14:58:58

<?php ?> <?php get_header(); ?> <?php $page_id = 1500; $page_data = get_page( $page_id ); echo apply_filters('the_content', $page_data->post_content);

?>
<section id="last-articles_homepage">
<h1>Derniers articles<?php echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage('<!--en:-->Latest News<!--:--><!--fr:-->dDerniers articles<!--:-->'); ?></h1>
Exalight3666 Exalight3666
12 jul 2013 15:07:40

Debería ser: <h1><?php echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage('<!--en:-->Latest News<!--:--><!--fr:-->dDerniers articles<!--:-->'); ?></h1>

Krzysiek Dróżdż Krzysiek Dróżdż
12 jul 2013 15:09:16
1

Encontré la solución para un problema relacionado con el mío en los foros de Soporte de Qtranslate:

<?php if(qtrans_getLanguage() == "fr") : ?> <h1>Este es francés</h1>
<?php endif ?> 
<?php if(qtrans_getLanguage() == "en") : ?> <h1>Este es inglés</h1> 
<?php endif ?>

¡Espero que te funcione! :)

15 ene 2014 15:22:52
Comentarios

qtrans_getLanguage está obsoleto, usa qtranxf_getLanguage en su lugar

Jamel Zarga Jamel Zarga
31 may 2018 11:51:41
0

Lo obtuve de los Foros de WP y me funcionó.

<?php _e("[:fr]Les réseaux sociaux[:en]Social Media[:es]Redes Sociales[:]"); ?>
11 feb 2016 07:02:03