WordPress plugins gör att du enkelt kan ändra och förbättra din blogg genom att föra ny funktionalitet som inte är tillgänglig på grundkoden.

Använda plugins fungerar mer effektivt än att försöka ändra den övergripande kärnprogrammet som utgör WordPress. Definierat som ett program eller en uppsättning funktioner skrivna i PHP, lägger till plugins specifika funktioner som enkelt kan integreras med bloggen via WordPress API.

Om du har skrivit ett WordPress-plugin kan du göra det mycket mer tillgängligt genom att översätta det till ett annat språk. Detta kallas internationalisering.

Internationalisering kontra lokalisering

Innan du kan internationalisera ditt plugin måste du veta vad det betyder. Även känd som i18n innebär det att ändra plugin så att andra kulturer som talar andra språk enkelt kan använda din plugin.

Lokalisering däremot är själva förändringsprocessen.

Det finns mer att internationalisera än att bara översätta gränssnittet. Till exempel, antaganden som du har gjort om kejserliga enheter och metriska enheter, måste skiljetecken som att använda ett komma för att separera tusentals i stället för en period, liksom andra kulturella ämnen behandlas innan du kan ordentligt lokalisera ditt arbete.

Medan det här är en guide som behandlar förberedelser för att lokalisera ett plugin, är det fortfarande viktigt att hålla dessa ytterligare justeringar i åtanke.

Domäner och initialisering

Att lokalisera ditt plugin innebär att du måste komma fram till en textdomän, som håller var och en separerad från de som WordPress använder eller som andra plugins har definierat. Vad du än vill använda för en textdomän är nere till dig, men du vill välja något både unikt och förnuftigt, relaterat till vad din plugin handlar om.

Innan du kan fullt lokalisera din plugin, måste du göra det berätta för WordPress hur det kan hitta dina strängar. Om koden inte existerar måste du infoga något som följande rad i din kodning:

add_action( 'init', 'myFunction' );

Denna kod kommunicerar med WordPress för att berätta att den använder funktionen som heter myFunction när den laddas. Den här funktionen namnger sedan din textdomän till WordPress och lär den hur den kan ladda de lokala strängarna, vilket ska likna följande:

function myFunction() {load_plugin_textdomain( 'mytextdomain', 'wp-content/plugins' );}

WordPress-funktionen load_plugin_textdomain informerar WordPress om att det finns en textdomän som heter mytextdomain och de filer som har de lokala strängarna vila i serverns mapp wp-innehåll / plugin. (Naturligtvis, om du lägger in dina pluginfiler i en annan mapp och sökvägen måste du ersätta det med lämplig sökväg.)

Flags

Internationell bild via Shutterstock.

Förbereder strängar

Efter initialiseringen måste du ändra de statiska strängarna till en funktion som tillåter WordPress att använda rätt lokaliserad version av den här strängen. Trots allt fungerar det inte bra att få WordPress att dra fel språk.

Den här funktionen erbjuder ett kort namn som gör det enkelt att internationalisera: Dubbelkanten funktionen _ (sträng, domän). Funktionen har två parametrar, den första är standardsträngen som plugin använder om det inte finns någon lokaliserad version tillgänglig. Den andra parametern är samma textdomän som du valde i koden tidigare.

Före detta steg kan din kod visas så här:

function addMyAdminPage() {add_options_page('A Page Title','A Menu Title',7, __FILE__, 'myAdminFunction' );}

Efter att ha lagt till koden kan det tyckas så här:

function addMyAdminPage() {add_options_page(__( 'A Page Title', 'textdomain' ),__( 'A Menu Title', 'textdomain' ),7, __FILE__, 'myAdminFunction' );}
Flags

Internationell bild via Shutterstock.

Lokalisering

Med all förberedelse ur vägen är du äntligen redo för den faktiska processen att göra WordPress-plugin till flera språk.

Att skapa en lokalisering för ditt plugin kräver att du gör en .po-fil med ett namn som liknar ditt pluginfilnamn samt ISO 639 2-bokstavskoderna för varje land och språk. Till exempel, om din plugin kallades examenplansnamn och du ville lokalisera den till spanska (europeiska), det verkar som "examplename-es_ES.po".

Medan WordPress codex erbjuder verktyg som kan hjälpa till med lokalisering, är det ofta bättre att helt enkelt gå med .po-filen från ett plugin som utgångspunkt. .po-filer är gjorda av en enda rubrik och sedan översättningspar:

msgid "Options"msgstr "Opciones"

The msgid är standardsträngen som visas i den dubbla underbara funktionen du dikterar. Med .po-filen skapad kan du använda ett av de verktyg som WordPress erbjuder för att skapa en .mo-fil, vilket är den andra filen som WordPress kräver.

Låter andra översättare hjälp

Ingen vet varje språk, så du vill utvidga dina resurser och låta andra människor hjälpa till att översätta till andra språk. Du måste emellertid genomgå ett speciellt förfarande för att skapa de nödvändiga filerna för att ge dina översättare eftersom du inte vill att dom ska få din källkod att oavsiktligt bryta.

Den fil du vill ge till översättare är en POT-fil, som liknar detta:

#: wp-admin/admin-header.php:49msgid "Options"msgstr ""

Det finns två sätt att generera den här filen. Om du har lagt in ditt plugin i förvaret, gå bara till administratörssidan och välj "Generera POT-fil". Den här filen är vad du skickar till översättare för att de ska lokalisera, men du kommer sannolikt att skicka ditt plugin med det, så översättare behöver inte ställa dig frågor om plugin.

Om du inte har ditt plugin i förvaret än, kan du besöka WordPress I18n verktygs katalog och använd makepot.php-skriptet på följande sätt:

php makepot.php wp-plugin the-plugin-directory

Tänk på att du måste installera ditt GNU Internationalization Utility-paket på din server innan du kör det här kommandot.

Flags

Internationell bild via Shutterstock.

Testning

Med alla dina lokala filer på plats är det dags att testa dem och se om det finns något du glömde. Testa din lokalisering innebär att ändra en enkel linje i din WordPress-konfiguration för att lura den för att tro att den ska använda en annan fil. Ändra filen wp-config och leta efter följande rad:

define ('WPLANG', 'en_US');

Om den här raden inte fanns tidigare, vill du dubbelkontrollera och se till att din installation fortfarande fungerar bra. Om så är fallet, återvänd till filen och ändra lands- och språkkoden. Med det tidigare exemplet skulle detta vara följande:

define ('WPLANG', 'es_ES');

Slutligen aktivera din plugin för att testa hur det ser ut. Kom ihåg att gå tillbaka till ditt ursprungliga standardspråk när du har testat.

Uppdaterar ditt plugin

Med alla de ändringar som WordPress gör över tiden kan ditt plugin inte vara fullt fungerande med efterföljande uppdateringar. Se till att du alltid tar dig tid att uppdatera ditt plugin när det är möjligt. Om du antar att du redan har det värd i WordPress Plugin Repository, kan du vidta några steg för att lägga till nya funktioner eller uppdatera korrigeringar till ditt plugin över tid. Det kan du göra så ofta som du behöver.

När du har uppdaterat ditt plugin och vill släppa den senaste versionen måste du hålla en checklista i åtanke:

  • Testa din plugin och garantera att den senaste versionen verkligen fungerar korrekt. Se till att du kommer ihåg alla de olika WordPress-versionerna som finns och testa dem med varje version som möjligt. Testa inte helt nya funktioner eftersom du oavsiktligt kan bryta med äldre funktioner.
  • Gå in i stammappen och ändra huvudkommentaren i huvudprop filen så att du kan uppdatera versionsnumret. Se till att du också ändrar versionsnumret i filen readme.txt i bagagemappen i fältet Stabil tagg.
  • Det är alltid klokt att skapa en annan underavdelning i changelogområdet i readme.txt-filen så att du kortfattat kan beskriva vad som är nytt i den senaste versionen jämfört med föregående. Allt du lägger in här läggs till i fliken Ändringslogg på sidan för din plugin.
  • Se till att du skapar en ny SVN-tagg som en del av stammen.
  • Tillåt några minuter för att systemet ska registrera de nya ändringarna och sedan gå till din plugin-sida och till en blogg med ditt nya plugin installerat för att verifiera att allt är korrekt uppdaterat. Tänk på att dessa uppdateringskontroller kan cachas, så det kan bli nödvändigt att vänta lite längre för att den ska uppdateras fullständigt.

Sammantaget finns det inte mycket annat att internationalisera din plugin på olika språk. Så länge du följer dessa steg noga kan du lokalisera din plugin på så många olika språk som du behöver.

Har du lokaliserat ett WordPress-plugin? Vilka språk önskar stöddes oftare? Låt oss veta i kommentarerna.