Gettext

Gettext

gettext es la biblioteca GNU de internacionalización (i18n). Comúnmente se usa para escribir programas con interfaz en varios idiomas. La última versión es la 0.18.

Contenido

Flujo de trabajo

Programador

Primero es necesario modificar el código fuente para poder usar las llamadas de GNU gettext. Esta modificación consiste en usar, como parámetro de la función gettext, las cadenas de texto que el usuario verá. Para ahorrar tiempo de escritura y espacio, esta función es usualmente asignada a _, en el código C

 printf("My name is %s.\n", mi_nombre);

Se convierte en:

 printf(_("My name is %s.\n"), mi_nombre);

Además de C, GNU gettext tiene las siguientes implementaciones: C++, Objective C, sh script, bash script, Python, GNU CLISP, Emacs Lisp, librep, GNU Smalltalk, Java, GNU awk, Pascal, wxWidgets (a través de la clase WxLocale), YCP (the YaST2 language), Tcl, Perl, PHP, y Pike. El uso es similar al de C para muchos de estos.

xgettext se ejecuta sobre el código fuente para producir un archivo .pot, o plantilla, cuando contiene una lista de todas las cadenas de texto traducibles extraída del código fuente. Una entrada en el archivo .pot se puede ver como:

#: src/name.c:36
msgid "My name is %s.\n"
msgstr ""

Traductor

El traductor genera un archivo .po desde la plantilla usando el programa msginit, y comienza a traducirlo. msginit inicializa el fichero con las traducciones, por lo tanto, si deseamos crear una traducción al español, ejecutaríamos lo siguiente:

msginit --locale=es --input=name.pot

Eso generaría el fichero es.po. Una entrada sencilla se verá como la siguiente:

#: src/name.c:36
msgid "My name is %s.\n"
msgstr "My name is %s.\n"

El traductor tendrá que editarlas, o a mano o con una herramienta de traducción como poEdit. Cuando esto esté hecho, la entrada ahora se verá así:

#: src/name.c:36
msgid "My name is %s.\n"
msgstr "Mi nombre es %s.\n"

Finalmente, los ficheros .po son compilados en un fichero binario .mo con msgfmt. De forma que queden listos para ser distribuidos con el paquete de software.

Usuario

El usuario, sobre sistemas tipo Unix, establece la variable de entorno LANGUAGE, y el programa mostrará las cadenas en el idioma seleccionado, si es que hay un archivo .mo para ello.

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • gettext — Developer(s) Various Stable release 0.18 (GNU gettext) / May 9, 2010 (GNU gettext) Operating system Cross platform Type Internationalization and localization …   Wikipedia

  • Gettext — Тип библиотека для интернационализации Разработчик Ульрих Дреппер Написана на Си ОС различные Версия …   Википедия

  • Gettext — est la bibliothèque GNU d internationalisation (i18n). Elle est couramment utilisée pour écrire des programmes multilingues. Sommaire 1 Processus 1.1 Programmeur 1.1.1 Commentaires pour les traducteurs …   Wikipédia en Français

  • Gettext — es la libreria GNU de internacionalizacion (i18n). Es comunmente usada para escribir programas multilenguaje. La ultima version es la 0.14 …   Enciclopedia Universal

  • Gettext — GNU gettext Entwickler: Das GNU gettext Team (Maintainer: Bruno Haible) Aktuelle Version: 0.17 (27. November 2006) Betriebssystem: Unix artige Betriebssysteme, Windows (s. Weblinks) …   Deutsch Wikipedia

  • gettext — GNU gettext Тип локализация программного обеспечения Автор Ульрих Дреппер Разработчики сообщество Написана на C Интерфейс командная строка Операционная система Linux и др …   Википедия

  • GNU gettext — gettext Développeur Projet GNU Dernière version 0.18.1 ( …   Wikipédia en Français

  • GNU gettext — Infobox Software name = gettext developer = The GNU Project latest release version = 0.17 latest release date = November 11, 2007 operating system = Cross Platform genre = Development, Translation license = LGPL (library), GPL (tools), GFDL/GPL… …   Wikipedia

  • GNU gettext — Entwickler Das GNU gettext Team (Maintainer: Bruno Haible) Aktuelle Version 0.18.1.1 (6. Juni 2010) Betriebssystem Unix artige Betriebssysteme, Windows (s. Weblinks) Kategorie …   Deutsch Wikipedia

  • GNU gettext — …   Википедия

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”