A volte può essere piuttosto impegnativo stringhe dinamiche in WordPress. E questo per due motivi principali:
- provengono da un plugin o da un tema che non utilizza gettext per le loro corde;
- vengono creati dall'utente e salvati nelle opzioni del plugin o del tema, nei metadati utente o in una tabella personalizzata di cui il plugin di traduzione non è a conoscenza.
Temi come Estia utilizza l'interfaccia del Personalizzatore di WordPress per creare rapidamente una bellissima prima pagina contenente un cursore, varie colonne per le informazioni, un elenco di Prodotti WooCommerce se necessario, così come un modulo di contatto.
Molti contenuti da quella prima pagina non è memorizzato nelle tabelle wp_posts o wp_postmeta. Mentre alcuni esprimeranno preoccupazione sul perché violare la convenzione post/pagina sia una cattiva idea, Personalmente mi piace quanto sia stata fluida l'esperienza di configurazione di quella pagina iniziale.
Questa flessibilità è fantastica quando vuoi fare le cose a modo tuo, ma è anche il motivo principale per cui traduzione di un sito WordPress Il 100% può risultare un po’ più difficile da ottenere, soprattutto se non sei una persona particolarmente esperta di tecnologia.
Soluzioni attuali

Ogni plugin di traduzione per WordPress ha il proprio flusso di lavoro nella traduzione delle stringhe dinamiche.
- Le stringhe gettext vengono tradotte per ogni plugin/tema oppure direttamente da https://translate.wordpress.org/;
- Le stringhe generate dall'utente dal plugin/tema devono essere contrassegnate per la traduzione utilizzando l'API di traduzione del plugin.
Il vantaggio di questa soluzione è che funziona.
Il problema è che la traduzione avviene fuori contesto e richiede il supporto degli sviluppatori di plugin e temi per funzionare con una varietà di plugin di traduzione.
La cosa peggiore è che se gli sviluppatori di plugin e temi non supportano il plugin di traduzione, semplicemente non funzionerà affatto.
Tradurre stringhe dinamiche con TranslatePress
Sapevamo che la traduzione di stringhe dinamiche sarebbe stata una sfida quando abbiamo iniziato lo sviluppo per TranslatePress. Quello che ritenevamo complicato si è rivelato molto più complicato una volta che abbiamo iniziato a lavorare sul problema.
Quello che pensavamo fosse complicato si è rivelato molto più complicato.
Per consentire la traduzione sia dei campi gettext che delle stringhe dinamiche aggiunte dagli utenti, abbiamo implementato un'interazione più semplice:
- Se un plugin o un tema era già stato localizzato, terremo la traduzione, ma potrai comunque modificarla se non ti va bene;
- le stringhe che sono memorizzate nella tabella delle opzioni e generate nel front-end possono essere facilmente tradotte, quindi non è più necessario cercare in una complessa tabella di traduzione delle stringhe;
- stai usando la stessa interfaccia per tradurre tutte le stringhe del tuo sito.

Uno sguardo alle peculiarità e alle caratteristiche
Poiché i campi aggiunti da gettext differiscono dalle stringhe normali, tra loro si riscontrano differenze minime ma evidenti.
%1$s
Inizieremo con %1$s. Si tratta di variabili dinamiche che dipendono dall'utente corrente, dal numero di acquisti, dalle impostazioni del plugin, ecc.
Questo è il modo corretto di tradurre queste stringhe e, come vantaggio aggiuntivo, se il plugin è già tradotto in una determinata lingua, inseriremo in quei campi anche la traduzione corretta.
Stringa originale
L'implementazione di gettext non consente di definire in quale lingua siano le stringhe. Quindi, se sei uno sviluppatore di plugin francese, sei libero di sviluppare il tuo plugin in francese. Ecco perché vedrai la “Stringa originale” e tutte le lingue sottostanti. Anche l'inglese. Le stringhe che riusciamo a rilevare sono evidenziate utilizzando il pulsante di modifica verde.
Un piccolo effetto collaterale interessante è che puoi persino modificare la stringa predefinita “traducendola” in inglese, ad esempio.
Un sfortunato effetto collaterale è che è diverso dalla lingua originale → Il flusso di lavoro "Lingua di traduzione" è quello che abbiamo a disposizione per le stringhe normali. Pertanto, è necessario prestare un po' più di attenzione alla lingua in cui si sta traducendo, finché non troveremo un modo migliore per rappresentare questa informazione nell'interfaccia.
Corde nascoste
È possibile accedere alle stringhe Gettext aggiunte tramite JavaScript, così come ad altre stringhe non visibili nell'interfaccia utente del sito (come, ad esempio, le e-mail di WooCommerce o gli slug degli URL) dal Traduzione stringa interfaccia. In questo modo è possibile tradurre i contenuti non accessibili dall'editor visivo.
E infine, ci sono flussi di lavoro specifici (diciamo che un modulo viene mostrato solo agli utenti non loggati, quindi come amministratore non lo vedi) che non esporranno quelle stringhe, quindi non puoi tradurle. Usando il Naviga come Ruolo componente aggiuntivo puoi navigare nel sito Web dall'editor di traduzione come te stesso o qualsiasi altro ruolo (effettuato l'accesso) o come utente non effettuato l'accesso. In questo modo potrai tradurre le stringhe che vengono visualizzate dinamicamente in base allo stato di accesso o non accesso.
Se vuoi saperne di più, ecco un breve video su come tradurre qualsiasi tipo di contenuto dinamico o variabile con TranslatePress:
TranslatePress semplifica la traduzione di tutte le stringhe dinamiche
Puoi Scarica TranslatePress gratuitamente su WordPress.org. È stato creato per semplificare la gestione della traduzione di stringhe dinamiche e rendere il tuo sito multilingue.
Scaricalo, gioca con esso e dillo a noi di cosa hai bisogno per rendere la tua esperienza di traduzione di un sito WordPress ancora migliore.
Se ne sei soddisfatto, potresti prendere in considerazione aggiornamento alla versione premium per lingue illimitate, funzionalità SEO avanzate, e altro ancora.
TranslatePress Multilingue
Un grande Grazie a tutti i nostri beta-tester e a Ionuț Neagu da CodeinWP per il loro riscontro iniziale.
Hai ancora domande su come tradurre le stringhe dinamiche? Faccelo sapere nella sezione dei commenti qui sotto!
Se hai trovato utile questo post, ti invitiamo a visitare il nostro Canale YouTube, dove carichiamo costantemente brevi tutorial video facili da seguire. Puoi anche seguirci su Facebook e Twitter per essere tra i primi a sapere ogni volta che pubblichiamo.
[…] Tradurre stringhe dinamiche in WordPress – un nuovo modo per tradurre stringhe dinamiche in WordPress. […]