PDA

Zobacz pełną wersję : Instalacja nowych języków, wielojęzyczna strona, długi format daty.



sepuk
04-11-2006, 21:40
Zainstalowałem joomlę 1.0.11 English na serwerze home.pl (skorzystałem z pomoc.joomla.pl i nie było "na czerwono"). Język domyślny to angielski czyli kodowanie jest na iso-8859-1. Poza tym zainstalowałem joomfisha 1.7 stable także w wesji English. Chciałem aby data wyświetlana była w portalu w długim formacie i w KAŻDEJ wersji językowej.
W pliku templatki wstawiłem kod php odpowiadający za wyświetlanie daty.

Natomiast w plikach językowych english.php oraz french.php zmieniłem


/** templates/*.php */
DEFINE('_ISO','charset=iso-8859-1');
DEFINE('_DATE_FORMAT','l, F d Y'); //Uses PHP's DATE Command Format - Depreciatedna


** templates/*.php */
setlocale(LC_ALL,'en_GB.ISO8859-1'); // fix english locale for dates on linux (most common)
DEFINE('_ISO','charset=iso-8859-1');
DEFINE('_DATE_FORMAT','l, F d Y'); //Uses PHP's DATE Command Format - Depreciatedsetlocale zostało dodane do obydwu plików językowych dla angielskiego jak wyżej a dla francuskiego fr_FR.ISO8859-1


Poza tym aby daty były wyświetlane w takim samyn formacie w pliku french.php zmieniłem
na

DEFINE('_DATE_FORMAT_LC2','%A, %d %B %Y %H:%M'); wcześniej był troszeczkę krótszy format (to nie ma znaczenia)

Jednak po tych wszystkich operacjach po zmianie na język francuski we frontendzie data wyświetla się po francusku, ale jest jedno ale (tzn 5 warningów):


Warning: Cannot modify header information - headers already sent by (output started at /*******/language/french.php:1115) in /drewar/index.php on line 226

Warning: Cannot modify header information - headers already sent by (output started at /*******/language/french.php:1115) in /drewar/index.php on line 227

Warning: Cannot modify header information - headers already sent by (output started at /*******/language/french.php:1115) in /drewar/index.php on line 228

Warning: Cannot modify header information - headers already sent by (output started at /*******/language/french.php:1115) in /drewar/index.php on line 229

Warning: Cannot modify header information - headers already sent by (output started at /*******/language/french.php:1115) in /drewar/index.php on line 230
Dodam jescze że w konfiguracji globalnej mam ustawione locale: en_GB

Myślałem aby zmienić kodowanie języka angielskiego na UTF-8 ale nie wiem jak, czy w ogóle tego dokonać i czy to coś da.

Chciałbym jeszcze dodać język polski ale na joomla.org oferuje tylko polski w UTF-8. Na polskich stronach nie ma paczki z językiem polskim bo wszystko jest instalowane w paczce z plikami głównymi cmsu.

Czy popełniłem błąd instalując wersję en, bo język angielski można ściągnąć?
Jak pozbyć się tych Warning ?

Strona jest tu (http://www.gruszkiewicz.home.pl/drewar/)
Pozdrawiam Sławek

Sposób na wyświetlanie daty w długim formacie w wielu językach znalazłem tu (http://www.webpr.gr/joomla/2006_07_01_archive.html)

zwiastun
05-11-2006, 16:43
Długi format daty musi być dobrze obsługiwany przez serwer. Normalnie nie ma potrzeby nic zmieniać w ustawieniach, bo są takie, że powinny wyświetlać datę w długim formacie, chyba że zmienisz w konfiguracji pozycji menu (jest np. w tabelach artykułów), to się wyświetla krótka.

Zauważyłe, że wpisanie funkcji wywołującej datę do templatki odczytuje ją niestety, tylko tak, jak jest ustawiona na serwerze. Stad może lepiej jednak zastosować krótki format - cyferki są zawsze czytelne, zrozumiałe i nie powodują innych komlikacji (dłuższy - krótszy tekst)