Ekaterina Gerasimova
kittykat3756@gmail.com 2013
Daniel Mustieles
daniel.mustieles@gmail.com 2011-2019
Jorge González
jorgegonz@svn.gnome.org 2007-2010
Mario Carrión
mario@monouml.org 2006

# Configurar el sistema de construcción para soportar traducciones

# Configurar las traducciones

Deberá configurar su proyecto y su sistema de construcción para que funcione con las traducciones.

Cree una subcarpeta po/ en la carpeta del proyecto e incluya los archivos que tienen cadenas traducibles en el archivo po/POTFILES.in. Los archivos sin cadenas traducibles se listan en el archivo po/POTFILES.skip.

añadir las siguientes líneas a su archivo 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])

añadir las siguientes líneas a su archivo Makefile.am:

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)

Ejecutar intltoolize para copiar la infraestructura de construcción de intltool al árbol de construcción antes de ejecutar autoreconf.

Ahora que el sistema de construcción y las cadenas originales están listas para la traducción, debe indicar tres cosas a gettext:

el dominio de traducción, generalmente el mismo que el nombre de la aplicación

la ubicación en la que se instalarán las traducciones construidas

la codificación de caracteres, generalmente UTF-8

Este ejemplo asume que su aplicación está escrita en C. Será ligeramente diferente para otros lenguajes de programación

Añadir la siguiente línea al archivo fuente que contiene la función `main()`:

#include "config.h"

Ahora, añada las siguientes líneas a su función `main()`:

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

Ejecute make nombre_proyecto.pot en la carpeta po. Esto ejecuta intltool-extract para extraer las cadenas traducibles y generar un archivo PO de plantilla (POT).