În această serie, analizăm modul în care putem internaționaliza proiectele WordPress. Pentru cei care tocmai se alătură nouă, vă recomandăm să revizuiți primul post din serie, deoarece vă uităm la toate funcțiile oferite în WordPress pentru a ne ajuta să internaționalizăm șirurile noastre.
Și, deși este util, încă nu ajută să explicăm ce este internaționalizarea. Așa cum am spus în primul mesaj:
Internaționalizarea este procesul de dezvoltare a plugin-ului dvs., astfel încât acesta să poată fi ușor tradus în alte limbi.
Având în vedere că WordPress execută aproximativ 25% din web și că web-ul nu este local pentru țara dvs. de origine, este logic să se asigure că munca pe care o producem poate fi tradusă în alte locații.
Pentru a fi clar, acest lucru se întâmplă nu înseamnă că dvs., în calitate de dezvoltator, sunteți responsabili pentru traducerea tuturor șirurilor din codul dvs. în diferitele limbi pe care clienții dvs. le pot utiliza. În schimb, înseamnă că folosiți API-urile adecvate pentru a vă asigura că altcineva poate veni și să ofere traduceri pentru ei.
Înainte de a merge mai departe, amintiți-vă:
Destul de ușor de înțeles în acest moment, nu? Dar există multe informații despre cum să faceți acest lucru și poate fi într-adevăr greu pentru a separa semnalul de zgomot, mai ales dacă sunteți nou în a face acest lucru.
Dar asta intenționează să facă această serie de tutoriale: să vă asigurați că sunteți înarmat cu tot ce trebuie să știți pentru a internaționaliza corect proiectul dvs. WordPress, să înțelegeți ce faceți și să înțelegeți cum să îl testați.
În următoarele două articole, vom crea un plugin simplu care este bine internaționalizat. În plus, vom analiza fiecare piesă a plugin-ului care intră în internaționalizarea codului pentru a ne asigura că înțelegem pe deplin toate acestea.
În următorul articol, vom examina unul dintre instrumentele pe care le-am găsit cele mai utile pentru localizarea muncii dvs. și cum să testați că localizarea funcționează corect.
Cu asta a spus, să mergem mai departe și să începem.
Pentru acest tutorial special, voi folosi cea mai recentă versiune de WordPress care este disponibilă prin intermediul Subversion. Dacă aveți o copie locală de WordPress instalată și este o versiune recentă, asta e minunat.
Dacă, totuși, doriți să trăiți pe marginea sângerării, atunci nu ezitați să verificați acest ghid pentru a obține cea mai recentă versiune a codului.
În cele din urmă, nu va afecta munca pe care o facem, dar este o oportunitate de a vă întinde puțin abilitățile de dezvoltare.
Cu o copie locală de WordPress instalată pe mașina dvs., sunteți gata să începeți să lucrați la un plugin. Rețineți că, în scopul acestui tutorial, vom construi un plugin incredibil de simplu.
Scopul nu este de a înțelege cum să construim un plugin, așa cum am acoperit-o în alte cursuri și în alte tutoriale; totuși, trebuie să înțelegem nuanțele mai fine care intră în internaționalizarea codului, astfel încât să înțelegeți ce faceți, pe măsură ce continuați să continuați cu munca pe care o veți face în cadrul proiectelor actuale sau viitoare.
Mai întâi, localizați wp-content / plugins
și creați un director numit tutsplus-i18n
. Acesta este directorul în care vom stoca fișierele noastre de plugin. Este bine numit Tuts + internaționalizare.
Mergeți mai departe și creați un singur fișier în directorul care va fi utilizat pentru a porni pluginul. Apelați fișierul tutsplus-i18n.php
.
Înainte de a merge mai departe, trebuie să decidem ce va face acest plugin. Știm că trebuie să afișăm ceva utilizatorului, astfel încât să putem practica internaționalizarea (și localizarea). Aceasta înseamnă că ar trebui să existe o componentă UI în plugin.
În acest scop, să creăm un plugin simplu care va introduce un element de meniu nou sub Unelte meniul. Vom suna elementul de submeniu Informații despre server, și vom folosi date ușor accesibile în PHP pentru a afișa un ecran de conținut într-un mod ușor de utilizat.
Poate că acest lucru ar putea fi folosit în scopul de a trimite un jurnal de depanare la un furnizor dacă ceva ar merge prost cu un plugin.
Presupun că sunteți familiarizat cu modul de creare a unui plugin de bază. Dacă nu, avem o serie de tutoriale și cursuri disponibile despre cum să facem acest lucru (după cum sa menționat deja). Codul conține, de asemenea, câteva informații despre cum să începeți, de asemenea.
Dacă nu sunteți familiarizat cu modul în care faceți acest lucru, vă recomand să verificați resursele de mai sus. Cu asta a spus, să mergem mai departe și să definim elementele de bază ale pluginului nostru.
Pentru a începe, trebuie să definiți antetul pluginului. Deschis tutsplus-i18n.php
și asigurați-vă că include următoarele informații:
După ce ați terminat, salvați fișierul și navigați la Plugin-uri ecran în WordPress. Aici ar trebui să vedeți o intrare pentru plugin-ul pe care tocmai l-ați creat.
Acordat, nu va face nimic în acest moment, dar puteți vedea că suntem pe drumul cel bun. Mai mult, rețineți că am adăugat o etichetă pe care nu o vedeți adesea cu proiectele WordPress, și asta este Domeniul textului etichetă. Aceasta este ceea ce vom folosi pentru a ne ajuta să internaționalizăm pluginul nostru.
Aici sunt detalii specifice despre această etichetă:
Dacă traduceți un plugin sau o temă, va trebui să utilizați un domeniu de text pentru a denumi textul care aparține acelui plugin. Aceasta crește portabilitatea și joacă mai bine cu instrumentele WordPress deja existente. Domeniul de text trebuie să se potrivească cu "slug" pluginului.Evident, am definit domeniul nostru de text ca tutsplus-i18n. Veți vedea acest lucru utilizat pe tot restul codului de bază în restul tutorialului.
În cele din urmă, nu uitați să vă asigurați că actualizați Autor și Autor URI tag-uri pentru a se potrivi cu numele dvs. și cu pagina dvs. de pornire, de asemenea.
3. Introduceți elementul de meniu
Primul lucru pe care vrem să îl facem este să introducem un element de submeniu la Unelte meniul. Pentru a face acest lucru, vom profita de
add_submenu_page
cârlig oferit de WordPress.Rețineți că folosim
__ ()
funcția pe care am discutat-o în primul post din acest tutorial pentru a vă asigura că textul elementului de meniu este internaționalizat corect pentru traducere. De asemenea, rețineți că al doilea parametru introdus în funcție este același cu domeniul definit în antetul pluginului.Acum, acest lucru nu este destul. Dacă ați citit documentația conectată mai sus, atunci știi că trebuie să definim o funcție care să afișeze conținutul paginii. În codul de mai sus, am menționat funcția ca
tutsplus_i18n_display_submenu_page
, dar nu am definit funcția.Să mergem mai departe și să facem asta acum. O vom face simplu, astfel încât plugin-ul va executa de fapt. Pagina nu va afișa nimic, dar plugin-ul va continua să funcționeze.
În acest moment, nu ezitați să activați pluginul și să examinați conținutul de sub Unelte meniul. Nimic nu trebuie tradus în acest moment; cu toate acestea, voi ar trebui să consultați un nou element de meniu.
Și când faceți clic pe element, ar trebui să vedeți ceva de genul ecranului de mai sus. E neagră. Dar asta e bine, deoarece în secțiunea următoare vom plasa de fapt câteva informații pe ecran.
4. Adăugați ecranul Pluginului
În funcție de ce alte pluginuri și de ce alte coduri ați studiat atunci când lucrați la pluginurile WordPress, ați văzut codul scris într-unul din două moduri (sau poate în ambele sensuri, într-adevăr), deoarece se referă la afișarea ecranului unui plugin.
- Toate codurile HTML sunt codificate greu în fișierul PHP al pluginului principal.
- HTML-ul este inclus într-un fișier extern care este inclus prin fișierul de bază PHP.
Sunt un fan al ultimului, deoarece cred că ajută la îmbunătățirea mentenabilității codului. Deci, pentru scopurile acestui exemplu, vom urma această abordare. În acest moment, creați un al doilea fișier în directorul plugin-ului dvs. și îl sunați
tutsplus-i18n-ui.php
.Apoi, adăugați următorul cod în fișier. O vom discuta în detaliu imediat după ce ați avut ocazia să o revizuiți.
$ val) // Introduceți var bine. ?> Observați aici că creăm un
masa
element care va afișa toate cheile și valorile găsite în PHP$ _SERVER
Colectie.Poate cele mai importante lucruri pe care le observăm sunt cele pe care le folosim
esc_html_e ()
pentru funcțiile noastre de internaționalizare și folosim operatorul modulului pentru a ne ajuta să oferim un stil pentru ecran.5. Styling Plugin-ul
Din punct de vedere tehnic, în acest moment plugin-ul va funcționa. Să facem un pas mai departe pentru a ne asigura că ecranul arată mai bine.
Mai întâi, creați
tutsplus-i18n.css
fișier în rădăcina directorului dvs. plugin și adăugați următorul cod:# tutsplus-i18n-table margin-top: 20px; frontieră: 1px solid #ccc; padding: 10px; # tutsplus-i18n-tabelul thead th font-size: 15px; înălțime: 40px; # tutsplus-i18n-table thead, # tutsplus-i18n-table tbody font-family: 'Monaco', 'Menlo', 'Courier New', Monospace; # tutsplus-i18n-table tbody td înălțime: 30px; padding: 5px; # tutsplus-i18n-table tbody tr.odd fundal: #fff;Apoi, adăugați o funcție în fișierul pluginului care va încorpora corect acest fișier, dar numai pe Informații despre server ecran:
id) return; wp_enqueue_style ('tutsplus-i18n-css', plugin_dir_url (__FILE__) ./tutsplus-i18n.css ', array (),' 1.0.0 ',' toate ');În acest moment, pluginul ar trebui să aibă un afișaj ușor mai frumos:
Nu, acest lucru nu este necesar, dar vă ajută să faceți ca pluginul să fie mai ușor de citit în contextul a ceea ce facem.
Ce este programarea orientată pe obiecte??
Pentru cei care au urmat cursurile mele și tutorialele mele, știi că prefer să scriu codul meu în programarea orientată pe obiect și nu în programarea procedurală.
Când vine vorba de predarea unui nou concept, încerc să pun accentul unei lecții cât se poate de clar. În acest scop, deseori găsesc că folosirea programării procedurale pentru a învăța ceva de genul asta creează mai puțină confuzie decât atunci când se folosește programarea orientată pe obiecte.
Asta înseamnă că programarea orientată pe obiecte presupune că aveți o înțelegere clară a anumitor concepte pe care nu le aveți când treceți prin această bază de coduri. Și dacă este așa, atunci nu veți putea să vă concentrați asupra materialului de bază al acestui tutorial.
Astfel, subiectele primare pe care intenționăm să le analizăm nu au nimic de-a face cu programarea orientată pe obiecte, ci cu înțelegerea modului de a internaționaliza și, în cele din urmă, localiza un proiect WordPress.
Concluzie
În acest moment, avem un plugin funcțional care poate fi descărcat, instalat și executat într-o instalare WordPress. Deși este internaționalizată, nu avem fișiere de localizare care să fie afișate Cum procesul funcționează. Puteți descărca o copie a pluginului din bara laterală a acestei pagini.
În tutorialul de urmărire, vom examina modul în care putem crea fișierele de localizare și vom simula o altă localitate pentru a testa traducerile noastre și vom examina, de asemenea, instrumentele disponibile pentru noi.
În timp ce așteptați următoarea tranșă, nu uitați să vedeți ceea ce avem la dispoziție în Envato Market pentru a vă ajuta să vă construiți un set tot mai mare de instrumente pentru WordPress sau, de exemplu, pentru a studia și a deveni mai bine dezvoltat în WordPress.
Dacă sunteți interesat să aflați mai multe despre WordPress din perspectiva dezvoltării, rețineți că lucrez exclusiv cu WordPress și scriu adesea despre el. Poți să-mi iei toate cursurile și tutorialele pe pagina mea de profil și poți să mă urmărești pe blogul meu și / sau pe Twitter la @tommcfarlin unde vorbesc despre dezvoltarea de software în contextul WordPress.
Ca de obicei, vă rugăm să nu ezitați să lăsați orice comentarii sau întrebări în feedul de comentarii de mai jos.
Referințe