Tommy Winther

twenty-first century code monkey

Tag: wordpress

Xbox360 Gamercard widget

Xbox360 Gamercard widget

Xbox360 Gamercard widget

Så fik jeg fedtet nok med min WordPress widget til at kunne pakke det hele sammen og kalde det for en release. Xbox360 Gamercard widget kan vise dit gamercard med presence samt en liste over de spil du sidst har spillet.

Den er aktiv i bunden af højre kolonne. Læs mere på info siden.

Widget’en bruger information fra Duncan Mackenzie’s Xbox REST API.

Sådan oversættes en WordPress widget

Jeg har brugt et stykke tid på at finde ud af hvorledes en WordPress widget kan oversættes. Den information jeg kan finde har ikke været fyldestgørende, så det har været lidt besværligt, men det er dog lykkedes. Den widget jeg har arbejdet med er det Xbox 360 gamercard som ses i bundet til højre.

Step-by-step guide

  1. Brug WordPress’s gettext funktion __() rundt om al tekst der skal oversættes. Alternativt kan _e() bruges. Se WordPress Codex. Anden parameter i funktionen skal være unik og ens i alle kald. Dette er såkaldt tekst domain.
  2. Når du er færdig skal du bruge makepot.php scriptet. Check det ud fra SVN.
  3. Åben en terminal og hop in i wp-content/plugins/ mappen.
  4. Kør php makepot.php wp-plugin <navn på widget>.
  5. Pot filen er en template fil. Generer den danske oversættelse med xgettext <navn på widget> -o <navn på widget>-da_DK.po
  6. Rediger nu <navn på widget>-da_DK.po filen og indtast oversættelsen i msgstr linjerne.
  7. Generer tilsidst den færdige oversættes således msgfmt -o <navn på widget>-da_DK.mo <navn på widget>-da_DK.po
  8. Mo filen placeret i samme mappe som widget’en.
  9. Tilsidst skal widget’en blot loade oversættelsen. Indsæt load_plugin_textdomain(‘<navn på textdomain>’, ‘/wp-content/plugins/<navn på widget>/’, ‘<navn på widget>/’);

Det skulle gøre tricket og din widget er nu oversat til dansk. WordPress skal naturligvis kører med dansk sprog før det virker. Dette gøres ved at sætte WPLANG i wp-config.php til da_DK.

© 2017 Tommy Winther

Theme by Anders NorenUp ↑