Skip Navigation

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

La sua lettura è permessa a tutti, ma la pubblicazione è riservata esclusivamente ai clienti di WPML. 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.

This topic contains 16 risposte, has 2 voci.

Last updated by Alejandro 1 mese, 1 settimana fa.

Assigned support staff: Alejandro.

Autore Post
June 22, 2022 at 6:43 am #11516171

giampierop-2

Ciao Alejandro, ho installato un plugin "BP DISPLAY XPROFILE" che ha la funzione di implementare l'immagine dei profili membri come da foto allegata nella pagina "membri". Pero' non mi traduce niente. Si puo' risolvere?
Grazie mille per la tua disponibilità

June 22, 2022 at 6:47 am #11516229

Alejandro
Supporter

Languages: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

Ciao!

le cose che si devono tradurre sono campi del profilo degli utenti, per caso? cioè sono campi "dinamici"?

o quello che non si traduce sono solo stringhe che arrivano direttamente dal plugin?
Quasi sempre riesci a tradurli usando uno di questi 2 metodi:

1) https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/#strings-arent-selected-for-translation

2) https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/#auto-register-strings-for-translation

Ma tutto dipende da dove arriva il contenuto che non si traduce. se il contenuto è dinamico, allora la procedura potrebbe essere diversa.

Fammi sapere per capire meglio come ti posso aiutare.

June 22, 2022 at 6:53 am #11516249

giampierop-2

Ciao Alejandro, il problema secondo me è sempre lo stesso. Secondo me è dinamico e le parole che non si traducono sono dei campi profilo di buddypress (che di fatto sono già tradotti perchè si vedano anche in inglese nelle altre pagine)...
se vuoi ti posso girare il sito in staging con password
thanks

June 22, 2022 at 10:39 am #11518707

Alejandro
Supporter

Languages: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

Ricordo questo sito e certo, puoi passarmi il sito in staging. l'unica cosa che ti chiedo è:

- I passi per poter ricreare il problema (come hai fatto per creare quella pagina)
- Il nome dei plugin necessari per poter ricreare il problema
- Permesso per disabilitare i plugin (Se puoi, disabilita tu i plugin non necessari per vedere questa pagina)

Per il resto puoi fare il sito di staging e passarmi le credenziali in questa prossima risposta.

Saluti.

June 22, 2022 at 4:35 pm #11522177

Alejandro
Supporter

Languages: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

Hm, sembra che questo plugin carichi solo il campo originale ma in questo momento non ricordo come è stato tradotto il campo "cerco" e i campi insomma.

Comunque, potresti caricare qui il plugin "BP DISPLAY XPROFILE" e puoi dirmi se si tratta di un plugin premium o gratuito (penso sia premium, non l'ho trovato nella repository di WordPress) --> hidden link

Poi fammi sapere che vorrei fare alcuni test per capire meglio come continuare.

June 22, 2022 at 8:10 pm #11523665

giampierop-2

Ciao Ale, ti ho caricato il plugin piu' il tema che utilizzo... il plugin è gratuito...
grazie sempre per il supporto
ciao

June 23, 2022 at 6:02 am #11526049

Alejandro
Supporter

Languages: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

in questo link menzioni che il problema è con un plugin specifico: https://wpml.org/it/forums/topic/traduzione-immagini-profilo/#post-11516171 (BP DISPLAY XPROFILE)

comunque nel sito di sandbox installi diversi plugin ma non questo BP DISPLAY XPROFILE che anche quando vado sul sito di staging vedo che è quello che aggiunge il testo alle schede dei membri.

Potresti per favore caricare BP DISPLAY XPROFILE (è questo il plugin che ti chiedevo se era premium perché sulla repo di WordPress non l'avevo trovato).

Saluti.

June 23, 2022 at 7:37 am #11526531

giampierop-2

Ciao Ale... il plugin installato è corretto... l'ho attivato ed è quello giusto come da foto

ale.PNG
June 23, 2022 at 9:42 am #11528019

Alejandro
Supporter

Languages: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

Interessante, ecco perché non lo trovavo nella repo di WordPress, nel tuo sito si chiama "BuddyPress Display xProfile" e nel sandbox invece "BuddyPress Modify Member Directory/Header" e risulta che il nome è cambiato nella versione 1.8.0 (quella che inizialmente avevi installato era la versione 1.6.0, solo per quello lo vedevo con un nome diverso).

Grazie mille, con tutta questa info ho ricreato il problema qui e l'ho inviato ai nostri sviluppatori per vedere se ci possono aiutare.

Ho visto che l'azienda di questo plugin ha anche versioni premium e molte volte la compatibilità con altri plugin l'abilitano solo nella versione a pagamento.

Mentre aspettiamo al nostro sviluppatore, ti chiedo di contattarli e chiedergli se per caso sono compatibili con WPML in qualche modo.

Saluti.

June 25, 2022 at 10:03 am #11542295

Alejandro
Supporter

Languages: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

L'autore del plugin usa delle tabelle personalizzate quindi se loro non rendono il plugin compatibile con WPML, probabilmente non funzionerà proprio con nessun plugin multilingue.

Abiamo trovato una possibile soluzione per te:

- Nei file del plugin trova questa directory: /wp-content/plugins/bp-modify-member-directory-header/public/

- troverai questo file "class-bp-display-xprofile-public.php", aprilo

- Cerca questo codice:

	<div><span class="member-field-name members-<?php echo isset( $profile_field->name ) ? esc_attr( $profile_field->name ) : ''; ?>"><?php echo esc_html( $profile_field->name ) . ' : '; ?></span>
									<span class="member-field-value members-value-<?php echo esc_attr( $profile_field->name ); ?>">
									<?php
									$xprofile_data = xprofile_get_field_data( $profile_field->name, $user_id );

									if ( is_array( $xprofile_data ) ) {
										echo wp_kses_post( implode( ', ', $xprofile_data ) );
									} else {
										echo wp_kses_post( $xprofile_data );
									}

									?>
									</span>
								</div>

e scambialo per questo:

							<div>
									<?php
									$wpml_field_name = $profile_field->name;
									if (class_exists('SitePress')) {
										do_action('wpml_register_single_string', 'xProfile', 'xProfile_name_' . $wpml_field_name, $wpml_field_name);
										$wpml_field_name = apply_filters('wpml_translate_single_string', $wpml_field_name, 'xProfile', 'xProfile_name_' . $wpml_field_name);
									}
									?>
									<span class="member-field-name members-<?php echo isset($profile_field->name) ? esc_attr($profile_field->name) : ''; ?>"><?php echo esc_html($wpml_field_name) . ' : '; ?></span>
									<span class="member-field-value members-value-<?php echo esc_attr($profile_field->name); ?>">
										<?php
										$xprofile_data = xprofile_get_field_data($profile_field->name, $user_id);
										if (class_exists('SitePress')) {
											do_action('wpml_register_single_string', 'xProfile', 'xProfile_value_' . $xprofile_data, $xprofile_data);
											$wpml_field_value = apply_filters('wpml_translate_single_string', $xprofile_data, 'xProfile', 'xProfile_value_' . $xprofile_data);
										}

										if (is_array($xprofile_data)) {
											echo wp_kses_post(implode(', ', $wpml_field_value));
										} else {
											echo wp_kses_post($wpml_field_value);
										}

										?>
									</span>
								</div>

Ora attiva questa opzione: https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/#auto-register-strings-for-translation

e vai al front-end dove si trovano queste opzioni, per poi cercarle in WPML > Traduzione stringhe.

Saluti.

June 28, 2022 at 3:43 am #11555895

giampierop-2

Ciao Ale., stasera / domani proverò e così ti faccio sapere… grazie mille

June 28, 2022 at 9:30 am #11557643

Alejandro
Supporter

Languages: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

No problem, fammi sapere come va, sperando che funzioni tutto!

Saluti.

June 29, 2022 at 6:05 am #11564069

giampierop-2

Ciao Ale, ho provato ma non funziona... in allegato vedrai gli errori...

errore 1.JPG
errore.JPG
June 30, 2022 at 9:43 am #11574329

Alejandro
Supporter

Languages: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

Ok, il problema con quel codice era che serviva per alcuni tipi di campi di buddypress ma non per quelli che avevano più di un'opzione, quindi l'ho cambiato per questo:

								<div>
        <?php
        $wpml_field_name = $profile_field->name;
        if (class_exists('SitePress')) {
			
            do_action('wpml_register_single_string', 'xProfile', 'xProfile_name_' . $wpml_field_name, $wpml_field_name);
            $wpml_field_name = apply_filters('wpml_translate_single_string', $wpml_field_name, 'xProfile', 'xProfile_name_' . $wpml_field_name);
        }
        ?>
        <span class="member-field-name members-<?php echo isset($profile_field->name) ? esc_attr($profile_field->name) : ''; ?>"><?php echo esc_html($wpml_field_name) . ' : '; ?></span>
        <span class="member-field-value members-value-<?php echo esc_attr($profile_field->name); ?>">
            <?php
            $xprofile_data = xprofile_get_field_data($profile_field->name, $user_id);
            if (class_exists('SitePress')) {
				$i=0;
				if(is_array($xprofile_data)){
                                        $wpml_field_value=array();
					foreach($xprofile_data as $xprofile_1){
						do_action('wpml_register_single_string', 'xProfile', 'xProfile_value_' . $xprofile_1, $xprofile_1);
						$wpml_field = apply_filters('wpml_translate_single_string', $xprofile_1, 'xProfile', 'xProfile_value_' . $xprofile_1);
						$wpml_field_value[]= $wpml_field;
						
					}
				} else {
					do_action('wpml_register_single_string', 'xProfile', 'xProfile_value_' . $xprofile_data, $xprofile_data);
					$wpml_field_value = apply_filters('wpml_translate_single_string', $xprofile_data, 'xProfile', 'xProfile_value_' . $xprofile_data);
				}
				
                
            }
 			
            if (is_array($xprofile_data)) {
                echo wp_kses_post(implode(', ', $wpml_field_value));
            } else {
                echo wp_kses_post($wpml_field_value);
            }
 
            ?>
        </span>
    </div>

e così dovrebbe funzionare per diversi tipi di campi se non tutti (l'ho già fatto nel sito di staging).

Saluti.

June 30, 2022 at 1:47 pm #11577361
giampierop-2

Grande Ale... sembra funzionare perfettamente...grazie mille...

adesso ho provato ad installare un altro plugin che si chiama "BP CUSTOM MENU" che non fa altro che installare e modificare voci sul menu di buddypress pero' non funziona con le traduzioni...
l'ho installato sul sito staging...
grazie mille

I nuovi thread creati da Alejandro e collegati a questo sono elencati di seguito:

https://wpml.org/it/forums/topic/split-traduzione-plugin-wpml/