Napisany sty-24-2009
smarty i gettext
W nawiązaniu do mojego poprzedniego wpisu wyjaśnię w jaki sposób korzystać z gettext’a w szablonach Smarty. Choć na pierwszy rzut oka wydaje się, że będziemy musieli włożyć sporo pracy, by uzyskać efekt końcowy, to w rzeczywistości okaże się to dużo prostsze.
raz, dwa,trzy gotowe!
Na początku ściągamy sobie Smarty. Aby użyć gettext’a potrzebna nam będzie odpowiednia wtyczka - możecie ją znaleźć TUTAJ. Po pobraniu umieszczamy block.t w lokalizacji:
Przy pisaniu szablonów korzystamy z funkcji blokowej (t}. Spójrzmy na przykład index.tpl:
<head>
<meta http-equiv=”Content-Type” content=”text/html;charset=utf-8″ />
</head>
<body>
{t}Message to conversion{/t}
</body>
</html>
W kolejnym kroku na podstawie index.tpl generujemy plik języka c - dokona tego dołączony do pluginu skrypt tsmarty2c.php. Jego zadaniem jest parsowanie dokumentu w poszukiwaniu łańcuchów znaków znajdujących się pomiędzy znacznikami {t},{/t} i zamiana ich na wywołania funkcji gettext(). Uruchamiamy go z linii komend:
Teraz z pomocą przychodzi doskonale znane narzędzie xgettext:
Dalej postępujemy identycznie jak w przykładzie z poprzedniego posta (zapraszam do lektury). Działający kod udostępniam do pobrania TUTAJ.
