Gettext

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
gettext
software
Siglă
Tip Mediu de dezvoltare integrat
Dezvoltator Proiect GNU
Ultima versiune 0,21 (27 iulie 2020)
Sistem de operare Multiplatform
Limba C.
Licență GNU GPL v3 + și GNU Lesser General Public License, versiunea 2.1 sau o versiune ulterioară
( licență gratuită )
Site-ul web www.gnu.org/software/gettext/

Utilitățile GNU gettext sunt un pachet de instrumente concepute pentru a permite internaționalizarea (i18n) și localizarea software - ului sau pentru a simplifica traducerea mesajelor adresate utilizatorului în orice limbă dorită.

Compatibilitate

Fiind conceput pentru a permite traducerea întregului sistem de operare GNU, gettext este compatibil cu un număr mare de limbaje de programare și scriptare: C, C ++, orientat obiect C, script Bash, Python, GNU clsip, Emacs Lisp, GNU Smalltalk , Java, GNU awk, Pascal, WxWidgets, YCP, Tcl, PHP, Pike și multe altele.

Metoda de utilizare

Dezvoltator

Flux de lucru

Mai întâi trebuie să utilizați funcția GNU gettext în codul sursă. Acest lucru se întâmplă diferit în funcție de limbajul de programare adoptat pentru proiectul dvs., dar respectă reguli comune pentru limbile cele mai frecvent adoptate. Acestea necesită ca programatorul să încadreze șirul mesajului care urmează să fie tradus în funcția gettext . Din motive practice, forma scurtă _ este adesea utilizată. Astfel, următorul cod din C:

 printf ( gettext ( "Numele meu este% s \ n " ), numele_meu );

ar deveni:

 printf ( _ ( "Numele meu este% s \ n " ), numele_meu );

Ulterior, comanda xgettext va filtra codul care caută funcția gettext tocmai introdusă, pentru a crea fișierul șablon .pot , pe baza șirurilor extrase din surse. Un exemplu de fișier .pot pentru un cod care conține liniile de mai sus ar fi:

 #: src / name.c: 36
msgstr "Numele meu este% s \ n"
msgstr ""

Traducător

Traducătorul va obține un fișier .po din fișierul șablon utilizând programul msginit . Aceasta va genera un fișier în funcție de traducerea care va fi efectuată, care va utiliza limba utilizată de programator în caz de non-traducere. De exemplu, pentru o traducere în franceză:

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

Programul va crea fișierul fr.po, cu un conținut similar cu următorul:

 #: src / name.c: 36
msgstr "Numele meu este% s \ n"
msgstr "Numele meu este% s \ n"

În acest moment, traducătorul va trebui doar să traducă șirul în linia msgstr, manual sau prin programe speciale, cum ar fi poEdit . Rezultatul va arăta astfel:

 #: src / name.c: 36
msgstr "Numele meu este% s \ n"
msgstr "Je m'appelle% s \ n"

La finalizare, fișierele .po vor fi compilate în fișiere .mo binare utilizând comanda msgfmt , după care vor fi gata pentru distribuire împreună cu pachetul software pentru dezvoltatori.

Utilizator

Utilizatorul va trebui doar să ruleze programul, deoarece va utiliza traducerea fișierului .mo corespunzător valorii variabilei de mediu LANGUAGE, prestabilită de obicei în toate distribuțiile de software gratuit .

Alte proiecte

linkuri externe

Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă cu software-ul liber