Under hela serien har vi täckt exakt vad du behöver göra för att internationalisera dina WordPress-projekt. Om du inte har läst några av de tidigare inläggen rekommenderar jag att du checkar ut dem.
Även om det har gjorts vissa förändringar i hur internationalisering och lokalisering fungerar i WordPress 4.6, betyder det inte att de tidigare handledningarna är irrelevanta. Det betyder bara att sättet du väljer att distribuera dina plugins och deras lokaliseringar kommer att ändras.
Och det är vad vi ska täcka i den här handledningen.
Som nämnts antar den här handledningen att du är fast på allt vi har diskuterat hittills i den här serien. Detta inkluderar:
Om ingen av ovanstående ger någon mening, var god och granska serien. Om du känner dig säker på att du kan förklara eller använda varje punkt ovan, är du redo att fortsätta.
Det fina med denna handledning är att det är mer informativt än teoretiskt (eller praktiskt, för den delen). Det vill säga det kommer inte att finnas någon kod att visa. Det handlar bara om att sprida information och se till att du vet vad du ska använda och när.
Innan vi får för djupt in i ämnet, låt oss backa upp lite och prata om hela internationaliseringsprocessen av WordPress och hur det fungerar med att ladda lokala filer.
Begreppen internationalisering och lokalisering är relativt lätta att förstå, men de är också lätt förvirrade (när jag först började mitt arbete i WordPress, även jag missbruka villkoren).
Internationalisering är processen att utveckla ditt plugin så att det enkelt kan översättas till andra språk.
Således är det här hur vi förbereder alla strängar och läsbar text i vårt plugin som måste översättas för andra språk.
Lokalisering är då en handling att faktiskt översätta strängarna och buntning dem i språkpaket som sedan laddas av WordPress beroende på vilken plats som är inställd i installationen.
Till exempel, låt oss säga att jag bygger ett plugin och jag använder amerikansk engelska eller i sv
locale som du kanske ser det skrivet. Då ska du se all text som jag har skrivit på mitt språk.
Men vad händer när någon som vill använda pluginet vill översätta det till spanska? För det första använder den ansvariga personen ett verktyg som POEdit för att tillhandahålla översättningarna för varje sträng.
Då kommer hon eller han att lagra dessa i språk
katalog (eller vilken katalog som helst). Filen ska namnges utifrån den ort där den är relaterad. I detta fall, es_ES
.
När plugin är laddad i en installation av WordPress som har installerats på en maskin som har es_ES
locale som standardval, kommer lokaliseringsfilen att laddas och ersätter alla översatta strängar med sina spanska motsvarigheter.
Och för en lång tid så har internationaliseringsprocessen fungerat. Dessutom, om du väljer att distribuera plugins utanför WordPress Plugin Repository, är det något du fortfarande behöver göra.
Men vad sägs om att de plugins som distribueras i förvaret?
I datavetenskap finns det ett begrepp av JIT (eller just-in-time), och vi hör det ofta som "just-in-time" compilation.
Vid beräkning är sammansättning just-in-time (JIT), även känd som dynamisk översättning, kompilering gjord under genomförandet av ett program - vid körtid - snarare än före körning.
I den senaste versionen av WordPress, det är WordPress 4.6, kan internationaliserade plugins som följer ett specifikt protokoll utnyttja fördelen av just-in-time lokalisering. Från WordPress-bloggen kan dessa ändringar sammanfattas enligt följande:
Eftersom översättningsfiler vanligtvis finns inuti wp-innehåll / språk, skannar WordPress nu den katalogen för tillgängliga översättningar och laddar dem automatiskt om den möter en textdomän för första gången.
Vad betyder detta för oss utvecklare? Kort sagt innebär det att om vi distribuerar vårt arbete via WordPress Plugin Repository, kommer WordPress först att skanna sitt bibliotek med översättningar för att se om det finns en aktuell plugin och dess språk. Om den upptäcker en, kommer den att använda den där.
Om det inte upptäcker en översättning, kan det hända att en av två saker kan hända:
Det finns vissa tillvägagångssätt för detta nya tillvägagångssätt, dock:
load_plugin_textdomain ()
i våra WordPress 4.6-baserade plugins.unload_textdomain ()
, du måste manuellt ladda översättningarna efter samtalet om du vill använda dem igen.Även om de är enkla rekommenderar jag starkt att läsa bloggposten i sin helhet för att förstå hur det fungerar, dess funktionalitet och hur det gäller det arbete du gör dag för dag.
Generellt sett tycker jag att denna funktion är oerhört fin. Det ger oss en chans att distribuera plugins som redan har översättningar tillgängliga och som kan laddas via WordPress.
Som sagt tror jag inte att det är en ursäkt inte att paketera de internationaliserade filerna. Trots allt, om ett språkpaket inte hittas, behöver det fortfarande laddas från språk
katalog.
Och om det yttersta målet är att få de mest robusta, robusta pluginsna, då borde vi inte lita på något som kanske inte finns. Låt oss istället hoppas på det bästa, men planera för det värsta.
Och med det har vi täckt allt vi kan om hur WordPress hanterar internationalisering och lokalisering för plugins som kommer att vara tillgängliga i både WordPress Plugin Repository och de du distribuerar via dina egna kanaler.
Om du är intresserad av att lära dig mer om WordPress från ett utvecklingsperspektiv, notera att jag bara arbetar med WordPress och ofta skriver om det. Du kan fånga alla mina kurser och handledning på min profilsida, och du kan följa mig på min blogg och / eller Twitter på @tommcfarlin där jag pratar om mjukvaruutveckling i samband med WordPress.
Som alltid, om du letar efter andra verktyg för att hjälpa dig att bygga ut din växande uppsättning verktyg för WordPress eller till exempel kod för att studera och bli mer välbevandrad i WordPress, glöm inte att se vad vi har tillgängliga i Envato Marknadsföra.
Tveka inte att lämna några frågor eller kommentarer i foderet nedan, och jag vill sikta på att svara på var och en av dem.
Det finns ett antal resurser som anges nedan. Observera att dessa kommer från tidigare tutorials samt vad som har nämnts i denna handledning också. Allt detta att säga, om du har läst de föregående handledningarna borde du vara i bra form. Om du har valt att inte göra det, läs du åtminstone länkarna nedan.
Observera också att du kanske är intresserad av att ladda ner demo-projektet för att undersöka källkoden och se hur det fungerar. Detta gäller särskilt om du vill marknadsföra något utanför WordPress Plugin Repository.