2009-08-30 15 views
10

Mam kilka pytań:xgettext vs gettext

Wiem, co to jest gettext. Czytałem kilka postów, w których wspomnieli o xgettext i byli ciekawi, jaka jest różnica między tymi dwoma.

Jak mogę zainstalować xgettext w systemie Windows?

I na koniec, czy ktoś ma tutorial jak zainstalować bibliotekę php-gettext http://savannah.nongnu.org/projects/php-gettext/ (ten zwykle nie jest dostarczany z PHP) Czytałem o tym w artykule, ale nie jestem pewien jak spraw, aby działał w systemie Windows. Chodzi o to, że czasami, gdy wprowadzasz zmiany, musisz ponownie uruchomić Apache, aby zobaczyć nowe dane za pomocą gettext, który jest dostarczany z PHP (ale z biblioteką, której nie potrzebujesz ponownie), więc chciałem użyć biblioteki do programowania . Dzięki!

+0

Być może zechcesz podzielić się drugą i trzecią częścią z własnymi pytaniami. –

Odpowiedz

14

W odniesieniu do pytania:

wiem co jest gettext. Czytałem kilka postów, w których wspomnieli o xgettext i byli ciekawi, jaka jest różnica między tymi dwoma.

W skrócie, gettext() jest funkcją i xgettext to program narzędziowy do wydobywania wiadomości z kodem źródłowym.

w długie, tak answer do Complete C++ i18n gettext() “hello world” example przedstawia jako część C++ źródło pliku kodu hellogt.cxx:

gettext("hello, world!") 

Funkcja gettext() przepuszcza się ciąg znaków, który jest wykorzystywany jako wskaźnik do wiadomości, które mają być użyte czas pracy. Zwraca określoną wiadomość dla języka określonego w kodzie lub w czasie wywoływania programu.

Następnie pokazuje:

xgettext --package-name hellogt --package-version 1.2 --default-domain hellogt --output hellogt.pot hellogt.cxx 

który to program narzędziowy używany w czasie kompilacji zbadać plik kodu źródłowego hellogt.cxx ciągów tekstowych przekazywanych do gettext(). Są one wyodrębniane i wykorzystywane do tworzenia pliku szablonu obiektów przenośnych hellogt.pot.

Szablon pliku jest używany przez tłumaczy w procesie dostarczania binarnie przetłumaczonego pliku wiadomości hellogt.mo używanego w czasie wykonywania przez gettext().

+0

To pomocne, wielkie dzięki! – Kentor

-5

Odwołanie online function reference mówi mi, że nie ma xgettext.

Może oznaczać jeden z

ngettext dgettext dngettext dcgettext dcngettext 

traktowanie „x” jak zamiennika

+0

ah ok, może masz rację – Kentor

+0

'xgettext' to funkcja przetwarzania wstępnego, która jest wywoływana w celu analizowania twoich plików kodu źródłowego i wyodrębniania wszystkich łańcuchów z funkcji' gettext', 'ngettext',' dgettext' i innych zapisanych. Zatem 'xgettext' nie jest funkcją, ale programem, który jest wywoływany. –

0

xgettext jest częścią gettext, to program, który wydobywa przetłumaczenia ze źródeł programowych. Zobacz gettext's manual.

Nie wiem o jego dostępności w systemie Windows, Google tells me there's a port.

+0

może mi to pomóc -> http://stackoverflow.com/questions/1351259/php-tring-variables-in-gettext-forgot-one-case-scenario? – Kentor

4

Zainstaluj Cygwin i wybierz pakiet gettext-devel.
To zainstaluje xgettext.exe

Zend Framework ma gettext Zend_Translate adapter że nie wymaga przedłużeniu php gettext.

Powiązane problemy