Ekaterina Gerasimova
kittykat3756@gmail.com 2013

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

Jako speciální výjimků vám držitel autorských práv uděluje oprávnění kopírovat, upravovat a šířit ukázky kódu obsažené v tomto dokumentu a to bez dalších omezení za podmínek, které si sami zvolíte.

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).