Introduzione al filtro Gettext

Pubblicato: 2023-02-12

Trovare un plugin o un tema per il tuo sito WordPress che soddisfi tutti i tuoi requisiti può essere una sfida. Molti potrebbero avvicinarsi ma necessitano comunque di aggiustamenti o personalizzazioni. Inoltre, in qualità di sviluppatore, è fondamentale garantire che il codice sia sufficientemente flessibile da supportare gli utenti di tutto il mondo.

Fortunatamente, ci sono alcune funzionalità del core di WordPress che possono aiutarti ad adattare alcuni elementi del tuo sito. Ciò ti consente di personalizzare il pulsante o il testo dell'etichetta piuttosto che abbandonare un plug-in altrimenti utile o persino preparare il tuo sito per la traduzione.

In questo articolo, forniremo una migliore comprensione del filtro gettext, incluso come funziona con il processo di traduzione del tuo sito. C'è molto da coprire, quindi tuffiamoci subito!

Sommario
1. Cos'è Gettext?
2. Gettext e PHP per la traduzione
2.1. Passaggio 1: estrarre le stringhe di testo come file POT
2.2. Passaggio 2: creare un file PO (Portable Object).
2.3. Passaggio 3: conversione in file oggetto macchina (MO).
3. Quando è utile il filtro Gettext di WordPress?
4. Diffondi il tuo messaggio con WP Engine

Cos'è Gettext?

Il filtro gettext ti consente di modificare gli elementi di testo sul tuo sito WordPress. Si capisce meglio attraverso un esempio.

Supponiamo che il tuo modulo di commento abbia due campi: "Nome" e "E-mail". Se preferisci che leggano "Nome" e "Indirizzo e-mail", puoi utilizzare il filtro gettext per modificarli invece di dover sostituire manualmente ogni istanza di ciascun termine nei file del tema.

Il filtro gettext funziona solo se il tuo sito è stato preparato per la traduzione. Pertanto, prima di approfondire come puoi usarlo per personalizzare il testo, dobbiamo discutere su come internazionalizzare il tuo codice.

Alcuni termini da comprendere prima di procedere includono:

  • Internazionalizzazione (i18n). Ciò significa che il tuo codice WordPress è stato preparato per la traduzione in altre lingue.
  • Localizzazione (l10n). Il processo mediante il quale puoi prendere la programmazione i18n e localizzare la tua installazione di WordPress per l'utilizzo in una lingua nativa.
  • Libreria GNU gettext. GNU è un sistema operativo open source gratuito. La sua libreria gettext ti consente di avvolgere il testo in stringhe di codice, che possono quindi essere estratte per la traduzione.
  • File POT: per eseguire l'estrazione delle stringhe traducibili create con le funzioni gettext, vengono creati i file POT (Portable Object Template).
  • File PO: uno strumento come Poedit utilizza un file POT per creare file PO (Portable Object) che includono le traduzioni completate e le stringhe traducibili.
  • File MO: un file MO (Machine Object) viene creato da un file PO. Risiede nella tua directory dei plugin o dei temi e viene fornito dal tuo server se viene richiesta una versione tradotta del tuo sito web.

Tutti questi elementi svolgono un ruolo nella preparazione dei prodotti WordPress per la traduzione, come vedrai nei passaggi seguenti.

Gettext e PHP per la traduzione

Di seguito, abbiamo spiegato il flusso di lavoro per l'internazionalizzazione di un tema o di un plug-in. Prima di sperimentare tali modifiche, si consiglia di creare un tema figlio con cui lavorare. Questo proteggerà il tuo sito da eventuali disastri potenziali.

Passaggio 1: estrarre le stringhe di testo come file POT

La prima cosa che vorrai fare è controllare se il tuo tema o plugin include già file POT. In caso contrario, dovrai generarli automaticamente, crearli manualmente con Terminal o utilizzare un'applicazione consigliata da WordPress che abbiamo menzionato in precedenza chiamata Poedit:

La versione Pro offre una rapida funzionalità di WordPress per creare i file di cui hai bisogno. Tuttavia, puoi comunque generare un file POT con pochi clic in più utilizzando l'app gratuita.

Per iniziare devi scaricare e installare Poedit, che verrà eseguito sul tuo desktop. Dopo averlo fatto, vai su File > Nuovo . Ti verrà chiesto di selezionare la lingua per la tua traduzione:

Dovrai quindi salvare il tuo nuovo progetto prima di procedere. Successivamente, avrai la possibilità di aggiornare un file POT esistente o Estrai dalle fonti :

Se necessario, puoi anche iniziare con un file POT vuoto, quindi modificare le stringhe di testo in Poedit. In alternativa, puoi cercare in Glotpress i plugin esistenti e i file dei temi da utilizzare. Tuttavia, per questo esempio, supponiamo di dover utilizzare l'altra opzione.

Dopo aver fatto clic su Estrai da fonti avrai tre schede di impostazioni da configurare:

Dovrai impostare i percorsi per le fonti delle tue stringhe di testo. Puoi anche escludere determinati percorsi. Quindi, ti consigliamo di configurare le tue proprietà di traduzione:

Qui è dove darai un nome al tuo progetto e personalizzerai le impostazioni per i plurali e altri elementi specifici della lingua. Infine, puoi utilizzare la scheda Fonti parole chiave per completare la configurazione del tuo file POT:

Quando fai clic sul segno più, sarai in grado di aggiungere parole chiave gettext per completare la configurazione della traduzione. Sarai anche in grado di vedere e cercare stringhe di testo dai tuoi file sorgente.

Passaggio 2: creare un file PO (Portable Object).

Successivamente, dovrai convertire il tuo file POT in un file PO per ogni lingua che desideri aggiungere. Se non stai traducendo il tuo tema o plug-in e prevedi di utilizzare solo il filtro gettext per le sostituzioni dall'inglese all'inglese, imposta entrambe le lingue (fonte e traduzione) sull'inglese.

Se navighi su Catalogo > Aggiorna da file POT in Poedit, puoi scegliere il file che vuoi tradurre:

Successivamente, il file passerà attraverso un processo di estrazione durante il quale tutte le stringhe traducibili verranno portate in Poedit. Questo crea il file PO. Ti consigliamo di nominarlo in modo che corrisponda agli altri tuoi file per questo progetto.

Quindi, fai clic su Crea nuova traduzione nella parte inferiore dell'elenco di stringhe di testo per iniziare ad apportare le modifiche:

Per modificare il testo dall'inglese all'inglese, basta fare clic sulla stringa che si desidera modificare e utilizzare la finestra di traduzione sotto il testo di origine per digitare la parola sostituita:

Completa questo processo per qualsiasi testo che desideri modificare nel tuo tema o plug-in. Successivamente, creerai l'ultimo dei tre file necessari.

Passaggio 3: conversione in file oggetto macchina (MO).

Fino ad ora, hai provveduto a creare istruzioni di programmazione relative alle tue traduzioni. Ora dovrai convertire ogni file PO in modo che possa essere letto dal server e consegnare il testo desiderato ai visitatori.

A seconda di come esegui il flusso di lavoro Poedit, un file MO potrebbe essere già stato creato nella cartella Lingue del tuo tema. In caso contrario, vai su File > Compila in MO :

Ora dovresti avere i componenti necessari per eseguire le funzionalità rese possibili dal filtro gettext in WordPress.

Quando è utile il filtro Gettext di WordPress?

Sebbene il processo che abbiamo descritto sopra possa aiutarti a tradurre il tuo sito in molte lingue, non è questo lo scopo del filtro gettext. In altre parole, non vorrai usare questo hook per trasformare il testo inglese in spagnolo.

Piuttosto, questa è più una funzionalità di progettazione che puoi utilizzare per modificare il testo predefinito aggiunto al tuo sito da un plug-in o un tema, ad esempio tramite:

  • Personalizzazione etichetta
  • Il testo del pulsante cambia
  • Alterazioni di intestazione

Questo processo può essere utilizzato per personalizzare qualsiasi testo ritenuto traducibile nei file del tuo sito web. Per fornire un altro esempio, se il tuo tema ha pulsanti preimpostati che leggono "Acquista ora" ma il tuo sito ha bisogno che leggano "Iscriviti", gettext è il filtro che può trasformare quel cambiamento in realtà.

È importante notare che l'uso troppo frequente di gettext può avere un impatto negativo sulle prestazioni del tuo sito web. Questo è un codice aggiuntivo che deve essere eseguito ogni volta che il tuo sito viene caricato, quindi usalo con parsimonia per evitare una riduzione della velocità della pagina.

Diffondi il tuo messaggio con WP Engine

Decidere se utilizzare o meno i plug-in o creare modifiche manuali al codice del tuo sito Web può essere difficile. Ecco perché avere a portata di mano le migliori risorse per gli sviluppatori è fondamentale. Grazie al supporto esperto e professionale di WP Engine, avrai ciò di cui hai bisogno per creare un sito Web altamente personalizzato.

Dai un'occhiata ai nostri piani di hosting WordPress dedicati gestiti per il tuo prossimo progetto. Ci occupiamo della manutenzione del tuo server in modo che tu possa innovare con facilità!