Ekaterina Gerasimova
kittykat3756@gmail.com 2013
Daniel Nylander
po@danielnylander.se 2007
Anders Jonsson
anders.jonsson@norsjovallen.se 2017, 2018

# Konfigurera ditt byggsystem för översättning

# Konfigurera översättningar

Du måste konfigurera ditt projekt och byggsystem för att de ska fungera med översättningar.

Skapa en po/-underkatalog i din projektkatalog och lista filerna som har översättningsbara strängar i po/POTFILES.in. Lista filer utan översättningsbara strängar i po/POTFILES.skip.

Lägg till följande rader till din configure.ac:

IT_PROG_INTLTOOL([0.50.0]) AC_SUBST([GETTEXT_PACKAGE], [$PACKAGE_TARNAME]) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Package name for gettext])

Lägg till följande rader till din Makefile.am:

SUBDIRS = po
AM_CPPFLAGS = -DPACKAGE_LOCALEDIR=\""$(datadir)/locale"\"
@INTLTOOL_DESKTOP_RULE@ desktopdir = $(datadir)/applications desktop_in_files = data/programnamn.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)

Kör intltoolize för att kopiera intltool-bygginfrastrukturen till byggträdet innan du kör autoreconf.

Nu då ditt byggsystem och dina källsträngar är redo för översättning behöver du meddela gettext tre saker:

översättningsdomänen, vanligen samma som programnamnet

platsen där de byggda översättningarna installeras

teckenkodningen för översättningarna, vanligen UTF-8

Detta exempel antar att ditt program är skrivet i C. Det kommer se ut något annorlunda för andra programmeringsspråk.

Lägg till följande rad till källfilen som innehåller din `main()`-funktion:

#include "config.h"

Lägg sedan till följande rader till din `main()`-funktion:

bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALEDIR); bind_textdomain_codeset (PACKAGE_TARNAME, "UTF-8"); textdomain (GETTEXT_PACKAGE);

Kör make projektnamn.pot i po-katalogen. Detta kör intltool-extract för att extrahera de översättningsbara strängarna och stoppar dem i en po-mallfil (POT).