Skip Navigation

Questo è il forum di assistenza tecnica di WPML, il plug-in multilingue di WordPress.

Tutti possono leggerlo, ma solo i clienti di WPML possono pubblicare qui. Il team di WPML risponde sul forum 6 giorni su 7, 22 ore su 24.

Nessun supporter è disponibile a lavorare oggi sul forum Italian. Sentitevi liberi di creare ticket e li gestiremo il prima possibile quando saremo online. Grazie per la comprensione.

Etichettato: 

This topic contains 8 risposte, has 2 voci.

Last updated by Vincenzo 1 anno, 6 mesi fa.

Assigned support staff: Vincenzo.

Autore Post
February 6, 2019 at 5:16 pm #3166901

idaL

Sto tentando di:
Tradurre dei termini che un programmatore ha appena inserito nel tema customizzandolo per rendere il data entry più semplice.

Link a una pagina dove è possibile vedere il problema:
All'interno dell'admin.

Mi aspettavo di vedere:
Pensavo di trovare gli string nuovi da tradurre, invece non li trovo. Si trattano dei nuovi termini aggiunti alle singole accommodations/ yachts ("length", "beam", "draft", "engines" etc.)

Invece ho ottenuto:
Niente.

February 7, 2019 at 12:59 pm #3170303

Vincenzo
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Salve e grazie per aver contattato il supporto WPML!

Per poter essere in grado di aiutare ho bisogno di avere maggiori dettagli sul metodo utilizzato per aggiungere i campi personalizzati.
Se è stato utilizzato del codice per creare i campi personalizzati, chiedi al programmatore di verificare se ha inserito le etichette (label) all'interno di chiamate GetText:
- https://wpml.org/forums/topic/custom-field-translation-4/#post-673238

Grazie

February 11, 2019 at 9:45 am #3181745

idaL

Gentile Vincenzo,
grazie, ho inoltrato la tua domanda al programmatore e sto ora aspettando la sua risposta.

Invece abbiamo con lo stesso codice e programmatore un problema legato sempre alle "accommodations", non so se conviene aprire un nuovo ticket o se potresti aiutarmi:

Oltre a quei nuovi campi "technical details" che rimarranno ancorati diciamo nella pagina della accommodations, il programmatore ha creato anche delle "checkboxes" simili a "facilities" (creati dall'autore del template) per "water sports", "instruments", "sails" e "comfort". Mentre le checkbox di "facilities" una volta tradotti rimangono tradotti anche nel futuro inserimento di nuovi "accommodations/yachts", le checkbox nuove vanno tradotte sempre da capo - cosa ovviamente non accettabile, essendo delle checkbox create per abbreviare i tempi di data entry.

E inoltre a questo wpml le riconosce, me le fa tradurre, ma nemmeno appaiono nella versione tradotta - anche se le ho tradotte! Il mio programmatore è in crisi e non capisce come mai questi contenuti non vengono copiati nella versione tradotta dell'accommodation.

Grazie per il tuo prezioso aiuto a riguardo,
Ida

February 11, 2019 at 10:03 am #3181937

Vincenzo
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Salve Ida,

a giudicare dagli screenshot, si tratta di elementi diversi.
Le Facilities sembrano tassonomie ed è normale che i termini, una volta tradotti, rimangono salvati. Se lo desideri, puoi addirittura chiedere a WPML di non mostrare più i termini già tradotti, all'interno dell'Editor di Traduzione. (WPML -> Impostazioni -> Non includere i termini già tradotti nell'editor di traduzione).

I checkbox in questione invece, sono Campi personalizzati impostati su "Traduci".
In questo caso, potrebbe essere utile attivare l'opzione "Memoria di traduzione delle stringhe" in WPML -> Impostazioni, ma non sono sicuro che abbia effetto anche sui Custom fields.

Rimango in attesa di conferma sulla domanda principale.

Buon lavoro

February 12, 2019 at 10:45 am #3187896

idaL

Gentile Vincenzo,
allora per la domanda principale il programmatore dice che ha usato "labels" e ha usato un testo normale statico.
Spero sia di aiuto.
Lui non sa come andare avanti e aspetta le vostre istruzioni.
Grazie mille e tanti saluti, Ida

February 12, 2019 at 10:45 am #3187909

idaL

le sue parole: "you can tell them we have used static text for the labels .. and then output our data their"

February 12, 2019 at 11:16 am #3188059

Vincenzo
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Salve Ida,

se si desidera tradurre le stringhe (label) bisogna inserirle all'interno di chiamate GetText come mostrato nel codice in questo ticket:
- https://wpml.org/forums/topic/custom-field-translation-4/#post-673238

Questo è il modo corretto per inserire stringhe traducibili nel codice WordPress, non solo per WPML ma anche per traduzioni effettuate con i file di lingua .po/.mo e con altri plugin Multilingua.

Per essere in grado di aiutare, ho bisogno di vedere il codice utilizzato per registrare i Campi Personalizzati in questione.

Ti allego una serie di articoli riguardo le chiamate GetText da inoltrare eventualmente al programmatore.

Grazie

Documentazione relativa:
- https://codex.wordpress.org/I18n_for_WordPress_Developers#Placeholders
- hidden link
- https://wpml.org/faq/language-setup/
- https://wpml.org/documentation/support/translating-the-theme-you-created/
- https://wordpress.org/support/topic/bilingual-custom-field-labels-names/#post-10209900
- https://code.tutsplus.com/tutorials/internationalizing-wordpress-projects-the-introduction--cms-26636

February 12, 2019 at 7:57 pm #3190634

idaL

Caro Vincenzo, ecco il codice delle due modifiche che ha fatto il programmatore.

Technical details:

<section id="description" class="tab-content <?php echo $first_display_tab == 'description' ? 'initial' : ''; ?>">
				<article>		
					<?php 
					do_action( 'bookyourtravel_show_single_accommodation_description_before' );
					BookYourTravel_Theme_Utils::render_field("text-wrap description", "", "", $accommodation_obj->get_description(), esc_html__('General', 'bookyourtravel'), false, false, false);
					 
					?>
                    <h2>Technical Details</h2>
                    <ul>
                    
                  <?php if (get_field( "length" ) != '') {?>   <li>Length: <?php echo get_field( "length" ); ?> m</li> <?php } ?>
                  <?php if (get_field( "beam" ) != '') {?>       <li>Beam : <?php echo get_field( "beam" ); ?> m</li><?php } ?>
                   <?php if (get_field( "draft" ) != '') {?>       <li>Draft : <?php echo get_field( "draft" ); ?> m</li><?php } ?>
                   <?php if (get_field( "built" ) != '') {?>        <li>Built : <?php echo get_field( "built" ); ?></li><?php } ?>
                 <?php if (get_field( "refitting" ) != '') {?>           <li>Refitting : <?php echo get_field( "refitting" ); ?></li><?php } ?>
                 <?php if (get_field( "builder" ) != '') {?>            <li>Builder : <?php echo get_field( "builder" ); ?></li><?php } ?>
                     <?php if (get_field( "naval_architect" ) != '') {?>         <li>Naval architect : <?php echo get_field( "naval_architect" ); ?></li><?php } ?>
                     <?php if (get_field( "flag" ) != '') {?>          <li>Flag : <?php echo get_field( "flag" ); ?></li><?php } ?>
                      <?php if (get_field( "hull_construction" ) != '') {?>          <li>Hull construction : <?php echo get_field( "hull_construction" );?></li><?php } ?>
                       <?php if (get_field( "hull_configuration" ) != '') {?>          <li>Hull configuration : <?php echo get_field( "hull_configuration" ); ?></li><?php } ?>
                       <?php if (get_field( "cabins" ) != '') {?>           <li>Cabins : <?php echo get_field( "cabins" ); ?></li><?php } ?>
                         <?php if (get_field( "guests" ) != '') {?>          <li>Guests : <?php echo get_field( "guests" ); ?> crew</li><?php } ?>
                         <?php if (get_field( "engines" ) != '') {?>           <li>Engines : <?php echo get_field( "engines" ); ?></li><?php } ?>
                          <?php if (get_field( "cruising_speed" ) != '') {?>           <li>Cruising speed : <?php echo get_field( "cruising_speed" ); ?> knots</li><?php } ?>
                            <?php if (get_field( "max_speed" ) != '') {?>          <li>Max. speed : <?php echo get_field( "max_speed" ); ?> knots</li><?php } ?>
                            <?php if (get_field( "fuel_consumption" ) != '') {?>           <li>Fuel consumption : <?php echo get_field( "fuel_consumption" ); ?> l / h </li><?php } ?>
                                   
                    </ul>
				</article>
			</section>
			<!--//description-->


Theme utils

	if (!empty($header_text) && !$container_is_tr){
				$ret_val .= sprintf("<h2>%s</h2>", $header_text);

                if ($header_text == 'Comfort')  {
                     $ret_val .="<ul style='margin-bottom: 0px;'>";
                    $colors = get_field('comfort_custom');
                    if($colors != ""){

                   foreach ($colors as $color) {
                    $ret_val .= "<li>".$color."</li>";
                    }
                     $ret_val .="</ul>";
                }
                }

                if ($header_text == 'Sails') {
                                     $ret_val .="<ul style='margin-bottom: 0px;'>";
                                    $colors1 = get_field('sails_custom');
                    if($colors1 != ""){
                                   foreach ($colors1 as $color1) {
                                    $ret_val .= "<li>".$color1."</li>";
                                    }
                                     $ret_val .="</ul>";
                                }
                                }

                                if ($header_text == 'Water sports') {
                                                                     $ret_val .="<ul style='margin-bottom: 0px;'>";
                                                                    $colors2 = get_field('water_toys_custom');

                                                            if($colors2 != ""){
                                                                   foreach ($colors2 as $color2) {
                                                                    $ret_val .= "<li>".$color2."</li>";
                                                                    }
                                                                     $ret_val .="</ul>";
                                                                }
                                                                }
                                                                /**/
                                                                 if ($header_text == 'Instruments') {
                                                                     $ret_val .="<ul style='margin-bottom: 0px;'>";
                                                                    $colors3 = get_field('instruments_custom');

                                                                        if($colors3 != ""){
                                                                   foreach ($colors3 as $color3) {
                                                                    $ret_val .= "<li>".$color3."</li>";
                                                                    }
                                                                     $ret_val .="</ul>";
                                                                }
                                                                }
February 14, 2019 at 9:25 am #3198357

Vincenzo
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Buongiorno,

effettivamente nel codice si vede che le etichette sono aggiunte in modo statico e intraducibile.

Ti allego, come esempio, il codice per tradurre la prima etichetta (Lenght)

                  <?php if (get_field( "length" ) != '') {?>   <li><?php _e('Length:', 'bookyourtravel'); echo get_field( "length" ); ?> m</li> <?php } ?>

Potrebbe essere necessario qualche aggiustamento estetico perché non ho potuto provare il codice, ma sono sicuro che il programmatore sarà in grado di risolvere e applicare la stessa soluzione a tutte le altre etichette.

Una volta effettuate le modifiche al codice, sarà necessario effettuare una scansione del tema o del plugin in cui si trova il codice da WPML -> Localizzazione del tema e dei plugin e poi bisognerà tradurre le stringhe da WPML -> Traduzione stringhe.

Fammi sapere se così risolvi o se hai bisogno di maggiori dettagli.

Grazie