O introducere în filtrul Gettext

Publicat: 2023-02-12

Găsirea unui plugin sau a unei teme pentru site-ul dvs. WordPress care să îndeplinească toate cerințele dvs. poate fi o provocare. Mulți s-ar putea apropia, dar totuși au nevoie de ajustări sau personalizări. În plus, în calitate de dezvoltator, este vital să vă asigurați că codul dvs. este suficient de flexibil pentru a sprijini utilizatorii din întreaga lume.

Din fericire, există câteva caracteristici ale nucleului WordPress care vă pot ajuta să adaptați anumite elemente ale site-ului dvs. Acest lucru vă permite să personalizați textul butonului sau al etichetei, mai degrabă decât să abandonați un plugin util, sau chiar să vă pregătiți site-ul pentru traducere.

În acest articol, vom oferi o mai bună înțelegere a filtrului gettext, inclusiv a modului în care funcționează cu procesul de traducere al site-ului dvs. Sunt multe de acoperit, așa că haideți să ne scufundăm!

Cuprins
1. Ce este Gettext?
2. Gettext și PHP pentru traducere
2.1. Pasul 1: Extrageți șirurile de text ca fișiere POT
2.2. Pasul 2: Creați un fișier de obiect portabil (PO).
2.3. Pasul 3: Convertiți în fișiere Machine Object (MO).
3. Când este util filtrul Gettext WordPress?
4. Răspândiți-vă mesajul cu WP Engine

Ce este Gettext?

Filtrul gettext vă permite să modificați elemente de text pe site-ul dvs. WordPress. Cel mai bine se înțelege printr-un exemplu.

Să presupunem că formularul de comentariu are două câmpuri: „Nume” și „E-mail”. Dacă preferați să citească „Prenumele” și „Adresa de e-mail”, puteți utiliza filtrul gettext pentru a le modifica în loc să trebuiască să înlocuiți manual fiecare instanță a fiecărui termen din fișierele dvs. de temă.

Filtrul gettext funcționează numai dacă site-ul dvs. a fost pregătit pentru traducere. Prin urmare, înainte de a descoperi cum îl puteți utiliza pentru a personaliza textul, trebuie să discutăm despre cum să vă internaționalizați codul.

Câțiva termeni de înțeles înainte de a continua includ:

  • Internaționalizare (i18n). Aceasta înseamnă că codul dvs. WordPress a fost pregătit pentru traducere în alte limbi.
  • Localizare (l10n). Procesul prin care puteți lua programarea i18n și vă puteți localiza instalarea WordPress pentru a fi utilizată într-o limbă nativă.
  • Biblioteca GNU gettext. GNU este un sistem de operare gratuit, open-source. Biblioteca sa gettext vă permite să împachetați textul în șiruri de cod, care pot fi apoi extrase pentru traducere.
  • Fișier POT: Pentru a executa extragerea șirurilor de caractere translabile create cu funcțiile gettext, sunt create fișiere Portable Object Template (POT).
  • Fișier PO: un instrument precum Poedit folosește un fișier POT pentru a crea fișiere de obiecte portabile (PO) care includ traducerile finalizate, precum și șirurile traducibile.
  • Fișier MO: Un fișier Machine Object (MO) este creat dintr-un fișier PO. Acesta se află în directorul dvs. de pluginuri sau teme și este livrat de serverul dvs. dacă este solicitată o versiune tradusă a site-ului dvs. web.

Toate aceste elemente joacă un rol în pregătirea produselor WordPress pentru traducere, așa cum veți vedea în pașii de mai jos.

Gettext și PHP pentru traducere

Mai jos, am explicat fluxul de lucru pentru internaționalizarea unei teme sau a unui plugin. Înainte de a experimenta astfel de modificări, este recomandat să creați o temă copil cu care să lucrați. Acest lucru vă va proteja site-ul de eventuale dezastre.

Pasul 1: Extrageți șirurile de text ca fișiere POT

Primul lucru pe care veți dori să-l faceți este să verificați dacă tema sau pluginul dvs. include deja fișiere POT. Dacă nu, va trebui să le generați automat, să le creați manual cu Terminalul sau să utilizați o aplicație recomandată de WordPress pe care am menționat-o mai devreme numită Poedit:

Versiunea Pro oferă o funcție WordPress rapidă pentru a crea fișierele de care aveți nevoie. Cu toate acestea, puteți genera în continuare un fișier POT cu câteva clicuri suplimentare folosind aplicația gratuită.

Pentru a începe, va trebui să descărcați și să instalați Poedit, care va rula pe desktop. După ce ați făcut asta, navigați la Fișier > Nou . Vi se va solicita să selectați limba pentru traducere:

Apoi, va trebui să salvați noul proiect înainte de a continua. În continuare, veți avea opțiunea de a actualiza un fișier POT existent sau un extras din surse :

Dacă este necesar, puteți începe și cu un fișier POT gol, apoi puteți modifica șirurile de text în Poedit. Alternativ, puteți căuta în Glotpress fișierele plugin și teme existente pe care să le utilizați. Cu toate acestea, pentru acest exemplu, să presupunem că va trebui să utilizați cealaltă opțiune.

După ce faceți clic pe Extrage din surse, veți avea trei file de setări de configurat:

Va trebui să setați căile pentru sursele șirurilor de text. De asemenea, puteți exclude anumite căi. Apoi, veți dori să configurați proprietățile de traducere:

Aici vei denumi proiectul și vei personaliza setările pentru plural și alte elemente specifice limbii. În cele din urmă, puteți utiliza fila Cuvinte cheie surse pentru a finaliza configurarea fișierului dvs. POT:

Când faceți clic pe semnul plus, veți putea adăuga cuvinte cheie gettext pentru a finaliza configurarea traducerii. De asemenea, veți putea vedea și căuta șiruri de text din fișierele sursă.

Pasul 2: Creați un fișier de obiect portabil (PO).

Apoi, va trebui să convertiți fișierul POT într-un fișier PO pentru fiecare limbă pe care doriți să o adăugați. Dacă nu vă traduceți tema sau pluginul și intenționați să utilizați numai filtrul gettext pentru înlocuirea engleză în engleză, setați ambele limbi (sursă și traducere) la engleză.

Dacă navigați la Catalog > Actualizare din fișierul POT în Poedit, puteți alege fișierul pe care doriți să îl traduceți:

În continuare, fișierul va trece printr-un proces de extracție în timpul căruia toate șirurile traducibile vor fi aduse în Poedit. Aceasta creează fișierul PO. Veți dori să-l denumiți pentru a se potrivi cu celelalte fișiere pentru acest proiect.

Apoi, faceți clic pe Creare traducere nouă în partea de jos a listei de șiruri de text pentru a începe să faceți modificările:

Pentru a modifica textul din engleză în engleză, trebuie doar să faceți clic pe șirul pe care doriți să îl schimbați și să utilizați fereastra de traducere de mai jos Textul sursă pentru a introduce cuvântul înlocuit:

Finalizați acest proces pentru oricare dintre textul pe care doriți să îl schimbați în tema sau pluginul dvs. În continuare, veți crea ultimul dintre cele trei fișiere necesare.

Pasul 3: Convertiți în fișiere Machine Object (MO).

Până acum, ați făcut pași pentru a crea instrucțiuni de programare cu privire la traducerile dvs. Acum, va trebui să convertiți fiecare fișier PO, astfel încât să poată fi citit de server și să livreze textul dorit vizitatorilor.

În funcție de modul în care parcurgeți fluxul de lucru Poedit, este posibil să fi fost deja creat un fișier MO în folderul Limbi ale temei dvs. Dacă nu, navigați la Fișier > Compilați în MO :

Acum ar trebui să aveți componentele de care aveți nevoie pentru a executa funcții posibile de filtrul gettext din WordPress.

Când este util filtrul Gettext WordPress?

Deși procesul pe care l-am descris mai sus vă poate ajuta să vă traduceți site-ul în multe limbi, acesta nu este scopul filtrului gettext. Cu alte cuvinte, nu ați dori să utilizați acest cârlig pentru a transforma textul englezesc în spaniolă.

Mai degrabă, aceasta este mai degrabă o funcționalitate de design pe care o puteți utiliza pentru a modifica textul implicit adăugat site-ului dvs. printr-un plugin sau o temă, cum ar fi prin:

  • Personalizarea etichetelor
  • Textul butonului se modifică
  • Modificări ale titlurilor

Acest proces poate fi folosit pentru a personaliza orice text care este considerat traducabil în fișierele site-ului dvs. Pentru a oferi un alt exemplu, dacă tema dvs. are butoane prestabilite pe care scrie „Cumpărați acum”, dar site-ul dvs. are nevoie să citească „Abonare”, gettext este filtrul care poate face ca schimbarea sa devina realitate.

Este important să rețineți că utilizarea gettext prea des poate avea un impact negativ asupra performanței site-ului dvs. Acesta este un cod suplimentar care trebuie să ruleze de fiecare dată când site-ul dvs. este încărcat, așa că utilizați-l cu moderație pentru a evita scăderea vitezei paginii.

Răspândiți-vă mesajul cu WP Engine

Să decizi dacă să folosești sau nu pluginuri sau să creezi modificări manuale ale codului pe site-ul tău web poate fi o provocare. De aceea, este esențial să ai cele mai bune resurse pentru dezvoltatori la îndemână. Înarmat cu suportul expert și profesionist de la WP Engine, veți avea ceea ce aveți nevoie pentru a crea un site web extrem de personalizat.

Consultați planurile noastre de găzduire WordPress dedicate gestionate pentru următorul dvs. proiect. Avem acoperit întreținerea serverului dvs., astfel încât să puteți inova cu ușurință!