--=REKLAMA=--

Tłumaczenie szablonu/Osadzanie stałych językowych w szablonie

Z Joomla!WikiPL

(Przekierowano z Osadzanie stałych językowych w szablonie)

Joomla 1.5 został wyposażony w narzędzia umożliwiające pełną lokalizację witryny i zaplecza, w tym także szablonów. Dzięki temu można tłumaczyć na język użytkowników napisy umieszczone na stałe w szablonach (np. nazwa witryny, nazwy przycisków) oraz opisy i etykiety umieszczone w pliku templateDetails.xml, a widoczne w edytorze szablonu na zapleczu administracyjnym.

Klasa JText

Do umieszczania stałych tekstów w kodzie szablonu służy specjalna klasa statyczna JText, definiująca stałą językową i zwracająca tłumaczenie w bieżącym języku, jeśli jest dostępne, albo angielski oryginał, jeśli tłumaczenie jest niedostępne. Przed zastosowaniem metod tej klasy nie jest wymagane tworzenie egzemplarza obiektu, stąd jej statyczny charakter.

Prosty napis

Napisy mogą być tłumaczone za pomocą metody "_()". Załóżmy na przykład, że w szablonie znajduje się angielski napis „Welcome”:

<?php
    echo 'Welcome';
?>

Jeśli chcemy, aby ten napis „Welcome” był tłumaczony, zapiszemy w szablonie następującą instrukcję:

<?php
    echo JText::_( 'Welcome' );
?>

Taka instrukcja spowoduje, że system przeszuka odpowiedni plik języka, np. języka polskiego, poszukując wśród deklaracji napisów takiej, której lewa strona brzmi „WELCOME”. Wielkość znaków w napisie nie ma znaczenia. Przykładowo, jeśli w plikach języka polskiego znajdzie się deklaracja:

WELCOME=Witaj!

do przeglądarki użytkownika zostanie wysłany tekst „Witaj!”. Jeśli użytkownik będzie wyświetlać witrynę w języku niemieckim, przeszukany zostanie plik języka niemieckiego, w którym może się znajdować linia:

WELCOME=Wilkommen

W takim przypadku do przeglądarki zostanie wysłany tekst „Wilkommen”.

Jeśli odpowiedni plik języka nie zostanie znaleziony albo nie będzie w nim deklaracji „WELCOME = Przetłumaczony napis”, do przeglądarki zostanie wysłany tekst angielski, umieszczony w instrukcji w nawiasie, a więc „Welcome”.

A zatem z klasy JText korzystamy zawsze, gdy chcemy umieścić w kodzie szablonu jakikolwiek tekst, który będzie widoczny dla odwiedzających witrynę. Takie napisy umieszczamy w szablonie za pomocą instrukcji PHP echo, np.:

<?php echo JText::_('Site name'); ?>

Tłumaczenie – plik językowy

Dziękujemy za wkład

» Stefan Wajda [zwiastun],