WordPress plugins giver dig mulighed for nemt at ændre og forbedre din blog ved at bringe ny funktionalitet ikke ellers tilgængelig i basen kode.

Brug af plugins fungerer mere effektivt end at forsøge at ændre den overordnede kerneprogrammering, der udgør WordPress. Defineret som et program eller et sæt af funktioner skrevet i PHP, tilføjer plugins specifikke funktioner, der let kan integreres med bloggen via WordPress API.

Hvis du har skrevet et WordPress-plugin, kan du gøre det meget mere tilgængeligt ved at oversætte det til et andet sprog. Dette kaldes internationalisering.

Internationalisering vs. lokalisering

Før du kan internationalisere dit plugin, skal du vide, hvad det betyder. Også kendt som i18n betyder dette at ændre plugin, så andre kulturer, der taler andre sprog, nemt kan bruge dit plugin.

Lokalisering derimod er den egentlige modifikationsproces.

Der er mere til internationalisering end blot at oversætte grænsefladen. For eksempel har antagelser, som du har lavet om imperiale enheder og metriske enheder, behandlet tegnsætning, såsom at bruge et komma til at adskille tusinder i stedet for en periode, samt andre kulturelle emner, før du kan rette dit arbejde korrekt.

Mens dette er en vejledning, der omhandler forberedelse til lokalisering af et plugin, er det stadig vigtigt at holde disse yderligere justeringer i tankerne.

Domæner og initialisering

Lokalisering af dit plugin betyder, at du skal komme op med et tekstdomæne, idet du holder hver enkelt adskilt fra dem, som WordPress bruger, eller som andre plugins har defineret. Uanset hvad du vil bruge til et tekstdomæne er nede for dig, men du vil gerne vælge noget både unikt og fornuftigt, relateret til, hvad dit plugin handler om.

Før du kan fuldt ud lokalisere dit plugin, skal du fortælle det til WordPress, hvordan det kan finde dine strenge. Hvis koden ikke allerede eksisterer, skal du indsætte noget som følgende linje i din kodning:

add_action( 'init', 'myFunction' );

Denne kode kommunikerer med WordPress for at fortælle det at bruge funktionen kaldet myFunction, når den er belastet. Denne funktion navngiver derefter dit tekstdomæne til WordPress og lærer det, hvordan det kan indlæse de lokaliserede strenge, som skal se ud som dette:

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

WordPress-funktionen load_plugin_textdomain informerer WordPress om, at der er et tekstdomæne kaldet mytextdomain, og de filer, der har de lokaliserede strenge, hviler i servermappen wp-indhold / plugin. (Hvis du selv sætter dine plugin-filer i en anden mappe og sti, skal du erstatte dette med den relevante sti.)

Flags

International image via Shutterstock.

Forbereder strenge

Efter initialiseringen skal du ændre de statiske strenge til en funktion, der gør det muligt for WordPress at bruge den rigtige lokaliserede version af den pågældende streng. Det virker ikke godt, at WordPress trækker det forkerte sprog.

Denne funktion giver et kort navn, der gør det nemt at internationalisere: den dobbelte underbar funktion _ (streng, domæne). Funktionen har to parametre, den første er standardstrengen, som plugin bruger, hvis der ikke findes en lokaliseret version. Den anden parameter er det samme tekstdomæne, som du valgte i koden tidligere.

Før dette trin vises din kode som sådan:

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

Efter at have tilføjet koden kan det virke sådan:

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

International image via Shutterstock.

Lokalisering

Med alt forberedelsen ude af vejen er du endelig forberedt på den egentlige proces med at omdanne din WordPress-plugin til flere sprog.

Oprettelse af en lokalisering til dit plugin kræver at lave en .po-fil med et navn svarende til dit pluginfilnavn samt ISO 639 2-bogstavkoderne for hvert land og sprog. For eksempel, hvis dit plugin blev kaldt eksamensnavn, og du ønskede at lokalisere det til spansk (europæisk), vises det som "eksamensnavn-es_ES.po".

Mens WordPress codex tilbyder værktøjer, der kan hjælpe med lokalisering, er det ofte bedre at bare gå med .po-filen fra et plugin som udgangspunkt. .po filer er lavet af et enkelt overskrift og derefter oversættelsespar:

msgid "Options"msgstr "Opciones"

The msgid er standardstrengen, der vises i den dobbelte underbar funktion du dikterer. Med .po-filen oprettet kan du bruge et af de værktøjer, WordPress tilbyder til at oprette en .mo-fil, som er den anden fil, som WordPress kræver.

Lad andre oversættere hjælpe

Ingen kender hvert enkelt sprog, så du vil gerne udvide dine ressourcer og lade andre hjælpe med at oversætte til andre sprog. Du skal dog gennemgå en særlig procedure for at generere de nødvendige filer, som de skal give til dine oversættere, da du ikke vil have, at deres kildekode skal gå i stykker.

Filen, du vil give til oversættere, er en POT-fil, der ligner dette:

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

Der er to måder at generere denne fil på. Hvis du har lagt dit plugin i depotet, skal du bare gå til administratorsiden og vælge "Generer POT-fil". Denne fil er, hvad du vil sende til oversættere, så de kan lokalisere, selvom du sandsynligvis vil sende dit plugin med det, så oversættere behøver ikke stille spørgsmål om plugin'et.

Hvis du ikke har dit plugin i opbevaringsstedet endnu, kan du besøge WordPress I18n værktøjer directory og brug makepot.php scriptet på følgende måde:

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

Husk at du skal installere din GNU internationalization utilities pakke på din server, før du kører denne kommando.

Flags

International image via Shutterstock.

Test

Med alle dine lokale filer på plads, er det tid til at teste dem ud og se, om der er noget, du har glemt. Testning af din lokalisering betyder at ændre en simpel linje på din WordPress-konfiguration for at narre den til at tro, at den skal bruge en anden fil. Skift filen wp-config og find den følgende linje:

define ('WPLANG', 'en_US');

Hvis denne linje ikke tidligere eksisterede, vil du gerne dobbelttjekke og se, at din installation stadig fungerer fint. Hvis det er tilfældet, skal du vende tilbage til filen og ændre landets og sprogkoden. Med det foregående eksempel ville dette være som følger:

define ('WPLANG', 'es_ES');

Endelig gør det muligt for dit plugin at teste, hvordan det ser ud. Husk at gå tilbage til dit oprindelige standardsprog, når du er færdig med at teste.

Opdaterer dit plugin

Med alle de ændringer, som WordPress gør over tid, er dit plugin muligvis ikke fuldt funktionelt med efterfølgende opdateringer. Sørg for at du altid tager dig tid til at opdatere dit plugin, når det er muligt. Hvis du antager, at du allerede har det hostet i WordPress Plugin Repository, kan du tage nogle skridt for at tilføje nye funktioner eller opdatere patches til dit plugin over tid. Det kan du gøre så ofte som du har brug for.

Når du er færdig med at opdatere dit plugin og vil frigive den nyeste version, skal du holde en tjekliste i tankerne:

  • Test dit plugin og sikre, at den nyeste version rent faktisk fungerer korrekt. Sørg for at huske på alle de forskellige WordPress versioner, der er og test dem ud med hver version som muligt. Test ikke blot nye funktioner, da du også ved et uheld kan bryde ældre funktioner.
  • Gå ind i stammen mappen og ændre hovedteksten i den vigtigste PHP-fil, så du kan opdatere versionsnummeret. Sørg for, at du også ændrer versionsnummeret i filen readme.txt i stammappen i feltet Stabil tag.
  • Det er altid klogt at oprette en anden underafdeling i changelog-området af readme.txt-filen, så du kort kan beskrive, hvad der er nyt i den seneste udgave sammenlignet med den foregående. Uanset hvad du indsætter her vil blive tilføjet til fanebladet for ændring af log på siden for dit plugin.
  • Sørg for at lave en ny SVN tag som en del af stammen.
  • Tillad et par minutter for systemet til at registrere de nye ændringer, og derefter gå til din plugin side og til en blog, der har dit nye plugin installeret for at kontrollere, at alt er korrekt opdateret. Husk at disse opdateringskontroller kan cachelagres, så det kan være nødvendigt at vente lidt længere for at den kan opdateres fuldt ud.

Alt i alt er der ikke meget andet at internationalisere dit plugin på forskellige sprog. Så længe du følger disse trin omhyggeligt, kan du lokalisere dit plugin på så mange forskellige sprog som du har brug for.

Har du lokaliseret et WordPress-plugin? Hvilke sprog, der ønskes, blev mere ofte støttet? Lad os vide i kommentarerne.