Ekaterina Gerasimova kittykat3756@gmail.com 2013 Lucas Lommer llommer@svn.gnome.org 2009. Marek Černocký marek@manet.cz 2015. Nastavení systému sestavení pro překlady. Nastavení překladů

Aby váš projekt fungoval s překlady, musíte jej správně nastavit, stejně jako systém sestavení.

Ve svém projektu vytvořte podsložku po/ a do souboru po/POTFILES.in uveďte soubory, které obsahují přeložitelné řetězce. Soubory bez přeložitelných řetězců uveďte do po/POTFILES.skip.

Do souboru configure.ac zadejte následující řádky:

IT_PROG_INTLTOOL([0.50.0]) AC_SUBST([GETTEXT_PACKAGE], [$PACKAGE_TARNAME]) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [název balíčku pro gettext])

Do souboru Makefile.am zadejte následující řádky:

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

Než spustíte autoreconf, spusťte nejdříve intltoolize, aby se nakopírovala infrastruktura intltool do stromu sestavení.

Když jsou nyní systém sestavení a řetězce ve vašem zdrojovém kódu připraveny k překladu, musíte uvést následující tři věci pro gettext:

doménu překladu, většinou je stejná, jako název aplikace

místo, kde jsou uloženy sestavené překlady

kódování znaků v překladech, obvykle to je UTF-8

Příklad předpokládá, že vaše aplikace je napsána v jazyce C. Pro ostatní programovací jazyky se to může lehce lišit.

Do zdrojového kódu, který obsahuje funkci main() přidejte následující řádek:

#include "config.h"

Následně do funkce main() přidejte tyto řádky:

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

Spusťte make název_projektu.pot ve složce po. Tím se spustí nástroj intltool-extract, který získá přeložitelné řetězce a vloží je do souboru šablony (POT).