GetText Support enabled
Przygotowujemy plik PHP, np.:
Mimo iż nie mamy na razie plików gettexta wyświetlony zostanie tekst podany w kodzie. Dopóki gettext nie znajdzie tłumaczeń będzie wyświetlany zawarty w wywołaniu gettexta tekst. By wygenerować plik *pot wydajemy polecenie (zainstalowany gettext):
xgettext -n nazwa_pliku.php
Co stworzy nam plik messages.po, który kopiujemy jako pliczek.po. Jest to plik tekstowy i otwieramy go w edytorze tekstowym. Zawartość będzie mniej więcej taka:
# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION " "Report-Msgid-Bugs-To: " "POT-Creation-Date: 2005-09-30 01:30+0200 " "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE " "Last-Translator: FULL NAME " "Language-Team: LANGUAGE " "MIME-Version: 1.0 " "Content-Type: text/plain; charset=CHARSET " "Content-Transfer-Encoding: 8bit " #: gettext.php:15 msgid "Translate me" msgstr "" #: gettext.php:18 msgid "I'm a string:" msgstr ""
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Tłumaczenie czegoś " "Report-Msgid-Bugs-To: " "POT-Creation-Date: 2005-09-30 01:30+0200 " "PO-Revision-Date: 2005-09-30 01:34+0200 " "Last-Translator: Piotr M. " "Language-Team: Polish " "MIME-Version: 1.0 " "Content-Type: text/plain; charset=UTF-8 " "Content-Transfer-Encoding: 8bit " #: gettext.php:15 msgid "Translate me" msgstr "Przetłumacz mnie" #: gettext.php:18 msgid "I'm a string:" msgstr "Jestem łańcuchem"
msgfmt pliczek.po -o pliczek.po
I wynikowy plik *.mo umieszczamy w miejscu na tłumaczenia - w podkatalogu /pl_PL/LC_MESSAGES/ od katalogu podanego w:
bindtextdomain("pliczek", "/home/piotr/html/skrypt");
By ustawić inny język należy przygotować dla nich tłumaczenia a następnie edytować wartość putenv("LANGUAGE=pl_PL"); z pl_PL na np. de_DE, en_EN itd.By zaktualizować stary plik *.po z tłumaczeniem o nowe frazy / usunięcie już nieistniejących wystarczy wydać polecenie:
msgmerge stary.po messages.po --output-file=nowy.po
Gdzie messages.po to świeżo wygenerowany nieprzetłumaczony plik po.
- Dodane: 14.07.2008 przez riklaunim