Come tradurre il contenuto in category.php o index.php con qtranslate?

12 lug 2013, 12:05:34
Visualizzazioni: 27.4K
Voti: 3

Mi chiedevo come tradurre il contenuto in index.php (o category.php con qtranslate?).

Sto utilizzando il tema twenty twelve.

Il mio codice in index.php:

<?php
/**
* Il file template principale.
* @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>
...

Vorrei tradurre il contenuto all'interno dei tag <section> e <h1> per esempio in francese.

4
Commenti

Hai letto le istruzioni del plugin? Non l'ho mai usato, ma le istruzioni suggeriscono che è semplice come visitare una pagina/post con un argomento di lingua nell'URL, ad esempio: ?lang=en o ?lang=fr...

t31os t31os
12 lug 2013 12:30:43

Quindi vuoi tradurre questo testo statico: 'Ultime Notizie'?

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

@KrzysiekDróżdż : esatto. Ho provato [en:]testoinglese[fr:]testofrancese invece del testo statico, ma non funziona. (scusa per il mio inglese scarso)

Exalight3666 Exalight3666
12 lug 2013 12:46:37

I due punti : dovrebbero essere prima della lingua, non dopo. Esempio: [:en]

Mario Radomanana Mario Radomanana
15 apr 2014 14:19:26
Tutte le risposte alla domanda 4
3
10

Questa soluzione ha funzionato per me

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

Nota: il ":" è prima della lingua, non dopo

15 apr 2014 09:44:54
Commenti

IMHO la migliore risposta. Breve, semplice e funziona perfettamente.

Julia Julia
10 feb 2017 14:24:50

Sì, la risposta migliore, ha funzionato bene per me con qTranslate-X 3.4.6.8

kazes kazes
14 feb 2017 14:31:35

Secondo le FAQ questo è il metodo raccomandato per farlo. https://qtranslatexteam.wordpress.com/faq/

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

Il modo più corretto per farlo è utilizzare le traduzioni di WordPress.

Dovresti sostituire questo testo statico con:

<?php _e('IL TUO TESTO', 'tuo_dominio_testo'); ?>

E aggiungere il dominio del testo al tuo tema.

Maggiori informazioni su questo argomento: http://codex.wordpress.org/I18n_for_WordPress_Developers

Puoi anche...

... utilizzare la funzione qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage.

Usala semplicemente in questo modo:

<?php echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage('<!--en:-->Ultime Notizie<!--:--><!--fr:-->dernières Nouvelles<!--:-->'); ?>
12 lug 2013 12:58:19
Commenti

non funziona... quando lo inserisco, vedo il testo di entrambe le lingue nella stessa pagina :/ anche se gli altri blocchi di testo vengono visualizzati nella lingua corretta (perché sono modificabili tramite il pannello di amministrazione di WordPress)

Exalight3666 Exalight3666
12 lug 2013 14:57:15

Quale soluzione stai utilizzando? Posta il tuo codice, per favore

Krzysiek Dróżdż Krzysiek Dróżdż
12 lug 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 lug 2013 15:07:40

Dovrebbe essere: <h1><?php echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage('<!--en:-->Latest News<!--:--><!--fr:-->dDerniers articles<!--:-->'); ?></h1>

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

Ho trovato la soluzione per un mio problema correlato nei forum di Supporto Qtranslate:

<?php if(qtrans_getLanguage() == "fr") : ?> <h1>Questo è francese</h1>
<?php endif ?> 
<?php if(qtrans_getLanguage() == "en") : ?> <h1>This is English</h1> 
<?php endif ?>

Spero che funzioni anche per te! :)

15 gen 2014 15:22:52
Commenti

qtrans_getLanguage è deprecato, utilizza qtranxf_getLanguage invece

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

Ho preso questo dal Forum di WP e ha funzionato per me.

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