Gettext

De la Viquipèdia, l'enciclopèdia lliure
Gettext
Modifica el valor a Wikidata

Tipusbiblioteca informàtica, utilitat i paquet GNU Modifica el valor a Wikidata
Versió inicial1995 Modifica el valor a Wikidata
Versió estable
0.22.5 (21 febrer 2024) Modifica el valor a Wikidata
LlicènciaGNU GPL 3.0 o posterior
GNU LGPL 2.1 o posterior Modifica el valor a Wikidata
Part deProjecte GNU Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiuGNU/Linux, BSD, Microsoft Windows, macOS, Unix-like i multiplataforma Modifica el valor a Wikidata
Escrit enC Modifica el valor a Wikidata
Format de fitxer de lectura
Format de fitxer d'escriptura
Equip
Creador/sUlrich Drepper Modifica el valor a Wikidata
Desenvolupador(s)Projecte GNU Modifica el valor a Wikidata
Més informació
Lloc webgnu.org… (anglès) Modifica el valor a Wikidata
Free Software DirectoryGettext Modifica el valor a Wikidata
Guia d'usuariGuia d'usuari Modifica el valor a Wikidata

Flux de treball

gettext és la biblioteca GNU d'internacionalització (i18n). Sovint s'empra per a escriure programes amb interfície en múltiples idiomes. La darrera versió és la 0.18.

Flux de treball[modifica]

Programador[modifica]

Primer cal modificar el codi font per poder usar les crides de gettext de GNU. Aquesta modificació consisteix a usar, com a paràmetre de la funció gettext, les cadenes de text que veurà l'usuari. Per estalviar temps d'escriptura i espai, aquesta funció és usualment assignada a _, de manera que en el codi C

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

Es converteix en:

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

A més de C, gettext de GNU té, entre d'altres, les següents implementacions: C++, Objective-C, script sh, script Bash, Python, CLisp GNU, Lisp d'Emacs, Smalltalk GNU, Java, awk GNU, Pascal, wxWidgets (a través de la classe WxLocale), YCP (el llenguatge YaST), Tcl, Perl, PHP, Pike, Ruby i R. L'ús és similar al de C per a molts d'aquests llenguatges.

xgettext s'executa sobre el codi font per produir un arxiu de plantilla .pot, que conté una llista de totes les cadenes de text traduïbles extreta del codi font. Una entrada de l'arxiu .pot ser una cosa com:

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

Traductor[modifica]

El traductor genera un arxiu .po des de la plantilla amb el programa msginit, i comença a traduir-lo. msginit inicialitza el fitxer amb les traduccions. Per tant, per crear una traducció al català, executaríem el següent:

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

Això generaria el fitxer ca.po. Una entrada senzilla es veuria així:

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

El traductor ha d'editar les entrades, a mà o amb una eina de traducció com poEdit. Quan això estigui fet, l'entrada es veurà així:

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

Finalment, els fitxers .po són compilats en un fitxer binari .mo amb msgfmt. Així, queden enllestits per ser distribuïts amb el paquet de programari.

Usuari[modifica]

L'usuari, sobre sistemes tipus Unix, estableix la variable d'entorn LANG, i el programa mostrarà les cadenes en l'idioma seleccionat, si hi ha un arxiu .mo adequat.

Vegeu també[modifica]

Enllaços externs[modifica]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Gettext