Funcţia `gettext` este conceput pentru a permite traducerea întreg sistem de operare GNU / Linux. Tocmai pentru acest motiv, este 100% compatibil cu un număr mare de limbaje de programare şi limbaje de scripting: C, C + +, C #, Bash, Python, GNU clsip, Emacs Lisp, GNU Smalltalk, Java, GNU awk, Pascal, wxWidgets, PCI , Tcl, PHP, Pike, şi altele.

În primul rând să vedem cum să folosiţi `gettext` în codul sursă. Normele de aplicare variază în funcţie de limbajul de programare folosit pentru proiectul dumneavoastră, dar sintaxa este aproape întotdeauna acelaşi, cel puţin pentru limbaje de programare populare: pur şi simplu funcţia conţine şirul mesajul să fie tradus. Trebuie remarcat faptul că aproape întotdeauna utilizează formularul de scurt, care pur şi simplu corespunde la o liniuţă de subliniere. În acest fel, următorul cod în C:

printf(gettext("My name is %s\n"), mio_nome);

devine:

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

Mai târziu, xgettext comanda va filtra pentru a găsi codul de gettext funcţia de doar introduce, pentru a crea fişierul şablon. Pot pe baza de siruri de caractere extrase de la sursa. . Un exemplu de un vas de fişier pentru un cod care conţine rândurile de mai sus este, după cum urmează:

#: include/myname.php:36
msgid "My name is %s\n"
msgstr ""

Pentru a începe traducerea este utilizat în programul de `` msginit. Mutarea fişierului. Mic `a` msginit este posibil pentru a genera un nou dosar care conţine scheletul noului Bit în limba ţintă.. De exemplu, pentru a traduce în limba italiană fişierul en_EN.po doar să rulaţi următoarea comandă:

locale = ro-msginit de intrare = en_EN.po

Programul va crea fişierul it_IT.po, al căror conţinut va fi similar cu următorul:

#: include/myname.php:36
msgid "My name is %s\n"
msgstr "My name is %s\n"

În acest moment, traducător nu trebuie să faceţi este să traducă următorul şir msgstr. Traducere se poate face cu orice editor de direct din linia de comandă, sau folosind programe specifice, cum ar fi poEdit . Rezultatul va arata astfel:

#: include/myname.php:36
msgid "My name is %s\n"
msgstr "Mi chiamo %s\n"

. Odata ce fisierele de traducere Po ar trebui să fie compilate într-un fişier binar Mo prin msgfmt ``.:

msgfmt it_IT.po

Partajaţi acest conţinut:
  • del.icio.us
  • Google Bookmarks
  • Digg
  • Facebook
  • Technorati
  • MySpace
  • Twitter