Ten artykuł opisuje, jak konfigurować. stron z użyciem ez publish. Wielojęzyczna konfiguracja. Narzędzia

Podobne dokumenty
I. Informacje ogólne. Jednym z takich systemów jest Mambo.

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Platforma e-learningowa

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Nieskonfigurowana, pusta konsola MMC

Wdrożenie modułu płatności eservice. dla systemu Magento

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

4. Podstawowa konfiguracja

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Dokumentacja fillup - MS SQL

Instalacja systemu zarządzania treścią (CMS): Joomla

Tomasz Greszata - Koszalin

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Skrócona instrukcja obsługi grupowego portalu głosowego

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Pracownia internetowa w szkole ZASTOSOWANIA

Instrukcja instalacji

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Wprowadzenie do Doctrine ORM

Joomla! Instalacja. Pobierz pakiet instalacyjny. instalacji XAMPP

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

Instalacja platformy Magento CE wersja szybka

Uruchamianie bazy PostgreSQL

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Przewodnik... Tworzenie Landing Page

Aplikacje WWW - laboratorium

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

Backend Administratora

Platforma e-learningowa

Krótka instrukcja instalacji

Ustawienia personalne

Dokumentacja modułu Woocommerce

Jak stworzyć stronę WWW drużyny harcerskiej. dh Paweł Wnuk

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Systemy operacyjne i sieci komputerowe Szymon Wilk Konsola MMC 1

Program Płatnik Instrukcja instalacji

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

oprogramowania F-Secure

PRODUKCJA BY CTI INSTRUKCJA INSTALACJI I KONFIGURACJI

Memeo Instant Backup Podręcznik Szybkiego Startu

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Rozdział 5. Administracja kontami użytkowników

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

Ewidencja Wyposażenia PL+

SSI Web 8. (badania.kozminski.edu.pl) Instrukcja logowania i uruchamiania ankiety

INSTALACJA SYSTEMU CMS JOOMLA!

2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Aplikacje WWW - laboratorium

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEBowego/Secure

INSTALACJA SERWERA LOKALNEGO TYPU WAMP NA PRZYKŁADZIE PAKIETU KRASNAL SERV 2.7

Włączanie/wyłączanie paska menu

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Instalacja portalu Internetowego Mambo

REFERAT O PRACY DYPLOMOWEJ

Podręcznik instalacji

Instrukcja korzystania z modułu Onet Export (wtyczka oscommerce) (wersja )

(aktualizacja 30 kwietnia 2018)

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

Systemy zarządzania produkcją - MES

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Instrukcja obsługi Modułu Payu dla Moodle 2.x

Tomasz Grześ. Systemy zarządzania treścią, cz. II

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Zmiana logo. Dziękujemy za wybór naszych rozwiązań. apjoo od Apláuz. Wspólnie przebrniemy przez proces konfiguracji strony www i wstawiania treści.

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

Aplikacja VISO Mobile (Android) Instrukcja instalacji i obsługi

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Internacjonalizacja i lokalizowanie aplikacji internetowych wg

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu.

Internacjonalizacja i lokalizowanie aplikacji internetowych wg

Kancelaria rozpoczęcie pracy z programem

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

5.1. MINIPOS MINIPOS. INSTALACJA ORAZ URUCHOMIENIE USŁUGI

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

BACKUP BAZ DANYCH FIREBIRD

Tworzenie katalogu wirtualnego w Internetowych usługach informacyjnych (IIS)

InPost PACZKOMATY. (Moduł Magento 2) v Strona 1 z 18

Podstawy technologii WWW

Instalacja (GM) AMXBans #1.5.1/ #1.6.1 na serwerze gry/stronie WWW. Wymagania

Transkrypt:

stron z użyciem ez publish Łukasz Serwatka Stopień trudności: Tworzenie stron webowych z zawartością w wielu językach może być zajęciem trudnym i czasochłonnym. Wraz z wprowadzeniem technologii skryptowych po stronie serwera, jak PHP i systemów opartych na PHP, takich jak ez publish Content Management System, czas potrzebny na stworzenie i utrzymywanie wielojęzycznych stron można skrócić. Ten artykuł opisuje, jak konfigurować wielojęzyczne strony z użyciem ez publish, udostępniając stronę webową międzynarodowej grupie użytkowników. ez publish w wersji 3.8 zawiera wiele ulepszeń do swojego modelu wielojęzycznej zawartości strony. Te ulepszenia są opisane w specyfikacji wielojęzycznej (http://ez.no/community/ developer/specs/improved_multi_language_in_ez_publish_rev_2). Ten samouczek przedstawi, jak tworzyć wielojęzyczne strony webowe z użyciem ez publish, dodawać nowe języki do istniejących instalacji i tłumaczyć zawartość strony na różne języki. Wymagania ez publish pracuje na serwerze webowym Apache. Zaleca się używać ostatniej wersji z gałęzi 1.3. Upewnij się, że używasz wersji 4.4 PHP. Zalecamy również używać ostatniej wersji z gałęzi 4.4 zainstalowanej jako moduł Apache'a (mod_php). (Zwracamy uwagę, że ez publish nie działa z PHP w wersji 5). PHP musi mieć wbudowaną obsługę albo MySQL 4.1 lub nowszego, albo PostgreSQL 7.3 lub nowszego. Co obiecujemy: Po przeczytaniu tego artykułu czytelnik będzie umiał zainstalować ez publish z obsługą kilku języków, zmieniać ustawienia i konfigurację systemu pod kątem obsługi wielu języków. Tworzyć własne rozszerzenia językowe dla ez publish. Dodawać nowe języki do istniejącej już instalacji. Tłumaczyć i tworzyć treść w dostępnych w ez publish językach. Co powinieneś wiedzieć: Artykuł jest adresowany do osób, które mają niewielkie doświadczenie lub dopiero zaczynają swoją przygodę z ez publish, potrzebna jednak będzie podstawowa wiedza z zakresu tworzenia witryn internetowych. 52

Narzędzia Rysunek 1. Tworzenie bazy Instalacja Ten rozdział opisuje aspekty procesu instalacji ez publish, które wpływają na wielojęzyczną konfigurację. (Kompletny proces instalacji jest opisany szczegółowo w dokumentacji online na http://ez.no/ doc/ez_publish/technical_manual/3_8/ installation.) Baza danych Aby udostępnić obsługę wszystkich zestawów znaków, skonfigurujemy kodowanie UTF-8 (unikod). Aby używać UTF-8, baza danych musi mieć obsługę unikodu. PostgreSQL i MySQL (wersja 4.1 lub nowsza) w pełni obsługują unikod. (Rysunek 1). Skonfigurujemy zatem stronę, aby pokazywała zawartość w trzech językach: angielskim, francuskim i niemieckim. Ponieważ jednak używamy kodowania UTF- 8, możemy też używać języków, które używają nie łacińskich liter (chiński, japoński itd.). Następujące przykłady pokazują, jak tworzyć nazwę danych z obsługą unikodu. Dla MySQL należy wykonać: Kreator ustawień W wersji 3.8 ez publish, można włączyć unikod podczas instalacji. Kreator ustawień ez publish włączy unikod (UTF-8) dla wewnętrznego kodowania i konwersji strony kodowej. To ustawienie jest zapisane w pliku: settings/override/i18n.ini.append.php. #?ini charset="iso-8859-1"? [CharacterSettings] Charset=utf-8 Poniższy zrzut ekranu pokazuje opcje wyszczególnione w kreatorze ustawień: Wybierz English (United Kingdom) jako język podstawowy oraz French (France) i German jako języki dodatkowe. Po zapytaniu o site type, wybierz new site. Konfiguracja po instalacyjna Po zainstalowaniu ez publish i uzyskaniu dostępu do interfejsów publicznych i administracyjnych, należy zmienić konfigurację, by udostępnić stronę w wielu językach. Domyślnie kreator ustawień tworzy dwa siteaccess-y (zestawy plików konfiguracyjnych, które przesłaniają ustawienia domyślne): Listing 1. Struktura katalogów i umiejscowienie plików konfiguracyjnych settings/override/ globalne ustawienia dla wszystkich siteaccesses settings/siteaccess/gb pliki konfiguracyjne dla angielskich siteaccess settings/siteaccess/de pliki konfiguracyjne dla niemieckich siteaccess settings/siteaccess/fr pliki konfiguracyjne dla francuskich siteaccess settings/siteaccess/site_admin pliki konfiguracyjne dla siteaccess administratorskich CREATE DATABASE `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8 _ general _ ci; W miejsce mydb należy wstawić nazwę swojej bazy. Dla PostgreSQL należy wykonać następującą komendę z poziomu powłoki: $ createdb -E Unicode mydb W miejsce mydb należy wstawić nazwę swojej bazy. Można też użyć narzędzi graficznych, jak phpmyadmin (MySQL) [link] lub phppgadmin (PostgreSQL) [link] do utworzenia bazy danych. Na przykład, by utworzyć bazę o nazwie mydb używając phpmyadmin, należy wybrać utf8_general_ci z listy rozwijanej collation, jak pokazano poniżej (Rysunek 2). Rysunek 2. Opcje wyszczególnione w kreatorze ustawień 53

jeden do użytku publicznego ( news_site ) i jeden do administracji ( news_site_ admin ). Użyjemy tych plików konfiguracyjnych utworzonych przez kreator ustawień jako wzór dla innych konfiguracji dostępu do stron (siteaccess). Zmień nazwę katalogu news_site na gb. Utwórz nowe katalogi de i fr pod settings/ siteaccesses, a potem zmień nazwę katalogu news_site_admin na site_ admin. Skopiuj pliki konfiguracyjne INI z folderu settings/siteaccesses/gb do settings/siteaccesses/de i settintgs/ siteaccesses/fr. Nie zmieniaj plików konfiguracyjnych w site_admin. Teraz mamy mniej więcej taką strukturę (Listing 1). Stworzyliśmy zatem po jednym siteaccess dla języka. ez publish będzie przeglądać pliki konfiguracyjne zapisane w tych ostatnich katalogach, gdy użytkownik zażąda URL-a z końcówką języka: www.example.com/gb > settings/siteaccess/gb www.example.com/de > settings/siteaccess/de Globalny plik konfiguracyjny settings/ override/site.ini.append.php zawiera informacje o dostępnych siteaccess-ach (Listing 2). Te ustawienia informują ez publish, że nasz domyślny siteaccess (Default- Access) jest gb (angielski). Gdy użytkownik łączy się z naszą stroną nie specyfikując siteaccess-u (np. przez www.example.com albo www.example.com/site), otrzyma domyślną angielską stronę. Następnie określamy listę naszych publicznych siteaccess-ów (SiteList) i informujemy ez publish o wszystkich dostępnych siteaccess-ach (AvailableSiteAccessList), w tym administracyjne. RelatedSiteAccess- List jest używane przez mechanizm buforujący. Bufor widoku będzie opróżniony dla skonfigurowanego siteaccessa, gdy na tej stronie zostanie opublikowany nowy artykuł. Konfiguracja dla naszych publicznych siteaccess-ów jest związana z ustawieniami regionalnymi. Główny plik konfiguracyjny (settings/siteaccess/ gb/site.ini.append.php) będzie zawierał (Listing 3). Tłumaczenia etykietę GUI w ez publish są zapisane w plikach XML (zlokalizowanych w share/translations) dla każdego języka. Gdy TranslationCache zostanie ustawione na enabled, system sparsuje plik XML z tłumaczeniem (trans- Listing 2. Globalny plik konfiguracyjny settings/override/site.ini. append.php [SiteSettings] DefaultAccess=gb SiteList[] SiteList[]=gb SiteList[]=de SiteList[]=fr [SiteAccessSettings] CheckValidity=false AvailableSiteAccessList[] AvailableSiteAccessList[]=gb AvailableSiteAccessList[]=de AvailableSiteAccessList[]=fr AvailableSiteAccessList[]= site_admin RelatedSiteAccessList[] RelatedSiteAccessList[]=gb RelatedSiteAccessList[]=de RelatedSiteAccessList[]=fr RelatedSiteAccessList[]= site_admin Listing 3. Główny plik konfiguracyjny Locale=eng-GB ContentObjectLocale=eng-GB SiteLanguageList[]=eng-GB SiteLanguageList[]=fre-FR SiteLanguageList[]=ger-DE TextTranslation=disabled VarDir=var/news_site Rysunek 3. Domyślne siteaccess-y kreatora ustawień 54

Narzędzia Listing 4. Części plików konfiguracji niemieckiej i francuskiej settings/siteaccess/de/ site.ini.append.php Locale=ger-DE ContentObjectLocale=ger-DE SiteLanguageList[]=ger-DE SiteLanguageList[]=eng-GB SiteLanguageList[]=fre-FR TextTranslation=enabled VarDir=var/news_site settings/siteaccess/fr /site.ini.append.php Locale=fre-FR ContentObjectLocale=fre-FR SiteLanguageList[]=fre-FR SiteLanguageList[]=eng-GB SiteLanguageList[]=ger-DE TextTranslation=enabled VarDir=var/news_site Listing 5. Ustawienia Path Prefix settings/siteaccess/de/site. ini.append.php: PathPrefix=german settings/siteaccess/gb/site. ini.append.php: PathPrefix=english settings/siteaccess/fr/site. ini.append.php: PathPrefix=french lation.ts) i skompiluje do natywnych plików PHP dla szybszego uruchamiania. To znacznie zmniejszy czas ładowania i powinno być zawsze używane. Bufor translacji jest zapisany w systemie pliku pod katalogiem var w katalogu tłumaczeń (var/(site)/cache/translation). Dla angielskich stron (eng-gb) TextTranslation i TranslationCache są domyślnie wyłączone, gdyż domyślne Listing 6. Konfiguracja dla rozszerzenia tłumaczeń TranslationExtensions[]= mytranslationext Listing 7. Źródło: extension/mytranslationext/ translations/untranslated /translation.ts <!DOCTYPE TS><TS> <context> <name>extension/ mytranslationext</name> <message> <source>example label </source> <comment>example comment</comment> <translation type= "unfinished"></translation> </message> <message> <source>more examples </source> <translation type= "unfinished"></translation> </message> </context> </TS> etykiety są po angielsku, więc nie ma potrzeby dokonywać tłumaczenia. Z przyczyn wydajnościowych, ważne jest, by włączyć TranslationCache razem z TextTranslation dla stron wielojęzycznych. Ponieważ w naszej wielojęzycznej konfiguracji użyjemy jednego z administracyjnych siteaccess-ów dla zarządzania zawartością wszystkich stron, ważne Rysunek 4. Wybór kilku opcji jednocześnie przy użyciu Contral Rysunek 5. Ustawienia polityki po wybraniu siteaccess-ów 55

jest, by zarówno publiczny siteaccess, jak i siteaccess Interfejsu Administracyjnego używały tego samego katalogu (umieszczonego poniżej katalogu var). W przeciwnym razie niektóre składniki strony (jak pliki) przerzucone przez interfejs administracyjny będą niedostępne publicznie, bo nie będą mieć dostępu do katalogu 'var' siteaccess-u administracyjnego. Należy się też upewnić, że Apache ma wystarczające prawa do utworzonych katalogów: Listing 8. Łącza tekstowe {def $locales=fetch( 'content', 'translation_list' )} {foreach $locales as $locale} <a href={concat( "index.php/", $locale.country_code downcase(), "/", $DesignKeys:used.url_alias ) ezroot}> {$locale.country_code } </a> {delimiter} {/delimiter} {/foreach} Listing 9. Łącza z obrazkiem flagi {def $locales=fetch( 'content', 'translation_list' )} {foreach $locales as $locale} <a href={concat ( "index.php/", $locale.country_code downcase(), "/", $DesignKeys:used. url_alias ) ezroot}> <img src={concat ( "share/icons/flags/", $locale.locale_code, ". gif" ) ezroot()} alt= "" border="0" /> </a> {/foreach} VarDir=var/news _ site Katalog 'var' zawiera pliki buforowe (cache files) i logi. Zawiera również części, które nie będą przechowywane w bazie (obrazki i pliki) (Listing4). I konfiguracja jest gotowa. Następny krok to ustawienie odpowiednich praw dla użytkownika anonimowego do określonych publicznych siteaccess-ów (gb, fr, de). W ez publish możemy ograniczyć prawa użytkowników tylko do wybranych siteaccess-ów. To oznacza, że użytkownicy mogą się zalogować tylko na strony, na których mają gwarantowane prawa dostępu przez administratora. Ponieważ zmieniliśmy istniejącą konfigurację, musimy przekazać ez publish, które siteaccess-y są teraz dostępne publicznie. Zaloguj się jako administrator do Interfejsu Administracyjnego za pomocą użytkownika i hasła skonfigurowanego przez kreator ustawień. Nowy URL do Interfejsu Administracyjnego będzie podobny do www.example.com/site_admin lub www.example.com/index.php/site_ admin, zależnie od nowych ustawień konfiguracyjnych i od tego, czy używasz metody Virtual Host dla URL-a. Po zalogowaniu się, przejdź do zakładki Setup i kliknij Roles and policies. W liście ról, kliknij rolę Anonymous i przycisk Edit. W liście bieżących polityk znajdź następujący wiersz: Module: user, Function: login, Limitations: SiteAccess() Kliknij ikonę Edit (symbol pióra po prawej) i wybierz siteaccess-y gb, de i fr. Możesz wybrać wiele opcji jednocześnie, przytrzymując klawisz Control. (Rysunek4) Po wybraniu siteaccess-ów, kliknij OK. ez publish zapisze ustawienia polityki (Rysunek 5). Module: user, Function: login, Limitations: SiteAccess( gb, fr, de ). Wyjdź z trybu edycji ról klikając OK. Zakończyliśmy zatem aktualizację praw ez publish, a teraz należy sprawdzić, czy nasze siteaccess-y są dostępne publicznie dla użytkowników Rysunek 6. Logowanie do interfejsu Administracyjnego Rysunek 7. Wybór języka z listy 56

Narzędzia anonimowych. Możesz to sprawdzić, wklejając poniższe URL-e do przeglądarki: www.example.com/gb (or www.example.com/index.php/gb); www.example.com/fr (or www.example.com/index.php/fr); www.example.com/de (or www.example.com/index.php/de). Rysunek 8. Definiowanie języków dodatkowych podczas instalacji Rysunek 9. Widok edycji dla nowego tłumaczenia Rysunek 10. Lista dostępnych tłumaczeń dla bieżącego obiektu Tłumaczenia Proces konfiguracji jest zakończony. Teraz możemy zająć się tłumaczeniem naszej zawartości z użyciem Interfejsu Administracyjnego ez publish. Aby przetłumaczyć zawartość na jeden z dostępnych języków. Zaloguj się do Interfejsu Administracyjnego. Pamiętaj, że nowy URL do Interfejsu Administracyjnego będzie podobny do www.example.com/site_admin lub www.example.com/index.php/site_ admin. (Rysunek 6). W widoku Content structure wybierz obiekt, który chcesz przetłumaczyć. Następnie, z listy rozwijanej wybierz Another language i kliknij przycisk Edit. (Rysunek 7). W następnym widoku, ez publish zapyta o nowy język do tłumaczenia i o język, z którego będzie tekst tłumaczony. Wybierz French dla tłumaczenia i English (United Kingdom) jako język bazowy i kliknij przycisk Edit. Zauważ, że ten krok zostanie pominięty, jeśli tylko jeden język dodatkowy zoastał zdefiniowany podczas instalacji. (Rysunek 8). W następnym kroku, ez publish pokaże widok edycji dla nowego tłumaczenia. Na szczycie każdego pola edycji będzie pokazany tekst w oryginalnym, bazowym języku. Po zakończeniu tłumaczenia kliknij Send for publishing. (Rysunek 9). Lista dostępnych tłumaczeń dla bieżącego obiektu jest pokazana, gdy aktywna jest zakładka Translations. To również daje dostęp do dodatkowych opcji. (Rysunek 10). Jeden Interfejs Administracyjny, trzy niezależne strony wielojęzyczne Nowa wielojęzyczna funkcjonalność w ez publish w wersji 3.8 daje możliwość tworzenia obiektów niezależnie w wielu językach i używania aliasów URL do 57

dostępu do zawartości w różnych językach. Powiedzmy, że chcemy mieć niezależne tłumaczenia, zatem zawartość dla czytelnika angielskojęzycznego będzie inna, niż zawartość dla czytelnika francuskojęzycznego. W naszej konfiguracji mamy trzy języki, więc powinniśmy stworzyć trzy foldery (po jednym dla każdego języka) w drzewie zawartości. Te foldery będą przechowywały zawartości stron specyficzne dla języka. Zaloguj się do Interfejsu Administracyjnego i stwórz trzy foldery w głównym drzewie katalogów, po jednym dla każdego języka: English, French i German. (Rysunek 11). To wszystko. Teraz mamy zdefiniowane katalogi główne dla zawartości wielojezycznej. Zawartość angielska będzie przechowywana w folderze English, francuska w French itd. To pozwala na segregację zawartości w różnych językach i dostarczania zawartości w określonym języku podanym w aliasie URL-a. Następnym krokiem jest dodanie ustawień konfiguracyjnych do każdego site. Rysunek 11. Drzewo zawartości Rysunek 12. Struktura katalogów rozszerzenia tłumaczeń ini.append.php dla publicznego siteaccess-u (gb, fr, de), które odetnie nazwę folderu języka z każdego URL-a. W przeciwnym razie ez publish będzie używał ścieżek np.: http://localhost/ ezpublish/index.php/gb/english, gdzie gb jest nazwą siteaccess-u, a english nazwą katalogu języka pod drzewem głównym ez publish. Używając ustawienia PathPrefix możemy nakazać ez publish używanie domyślnie katalogu English, ale nie używać go w URL-u. W ten sposób nasza ścieżka będzie wyglądać jak http:// localhost/ezpublish/index.php/gb. Dodaj następujące ustawienia do publicznych siteaccess-ów (gb, de, fr) w bloku [SiteAccessSettings]: Tak samo, jeśli użytkownik wybierze angielski siteaccess, ez publish będzie używał folderu English jako folder główny angielskiej zawartości. Własne tłumaczenia Podczas tworzenia wielojęzycznych stron, czasem potrzebujemy przetłumaczyć jakieś własne etykiety, które nie są dostępne w domyślnym pliku tłumaczeń ez publish. Możemy zaimplementować tłumaczenie tych własnych etykiet jako rozszerzenie ez publish (Rysunek 12). W pliku extension/mytranslationext/ settings/site.ini.append.php, potrzebujemy przekazać ez publish, że jest dostępne rozszerzenie tłumaczeń. Ten plik domyślnie nie jest zakładany należy go stworzyć. ez publish zapisuje tłumaczenia jako XML w plikach o nazwie translation.ts. Poniższy zrzut ekranu pokazuje program QT Linguist użyty do tłumaczenia zawartości w pliku XML. To jest plik źródłowy dla innych tłumaczeń użytych jako rozszerzenie. Plik translation.ts to zwykły plik tekstowy w formacie XML We wzorcach, operator wzorca i18n oznacza napis do przetłumaczenia: {'Example' i18n( 'extension mytranslationext' )} Operator pobiera trzy opcjonalne parametry: context, comment i argiments. Parametr context może być użyty do określenia grupy, do której powinien być zaliczony parametr wejściowy. W naszym przykładzie jest to extension/ mytranslationext Więcej informacji na temat i18n we wzorcach znajdziesz na stronie dokumentacji: http://ez.no/doc/ez_publish/technical _ manual / 3 _ 8 /reference /template_ operators/formatting _and_internationalization/i18n Przełącznik języków Mechanizm przełączania języków zależy od liczby języków skonfigurowanych dla strony. Mając tylko trzy języki, możemy wyświetlać łącza tekstowe, które pozwalają użytkownikowi na zmianę języka. Jednak jeśli mamy dużo języków, za dużo miejsca byłoby potrzebne na pokazanie wszystkich łączy, zatem zamiast łączy pokażemy wybór języka poprzez listę rozwijalną. Przedstawione przykłady kodu mogą zostać użyte albo w pagelayout.tpl (główny wzorzec ez publish), albo we wzorcach węzłów. Oto przykład przełącznika języków, który wyświetla tekst lub łącza obrazkowe dla każdego języka: Jeśli używasz ustawień Virtual Host na swojej stronie, usuń index.php z URL-a w przykładowym kodzie. Ten przykład będzie działał z metodą dostępu URI. Dla metody dostępu HOST kod będzie podobny. Załóżmy, że mamy skonfigurowane hosty jak następuje: Podsumowanie W tym artykule objaśniliśmy, jak skonfigurować wielojęzyczną stronę za pomocą ez publish, używając cech dostępnych w wersji 3.8. Przedstawiliśmy praktyczny przykład, który objaśnił ustawienia konfiguracyjne strony i pokazał jak tworzyć nowe tłumaczenia dla obiektów strony. Strona wynikowa posiada trzy niezależne językowe siteaccessy, wszystkie uruchamiane z jednego Interfejsu Administracyjnego. Z nowymi cechami ez publish 3.8 można dotrzeć do międzynarodowej publiczności przez dodanie języków do twojej strony. O autorze Łukasz Serwatka jest developerem systemu w EzSystems. W swojej pracy skupia się głównie na rozwoju kontaktów zewnętrznych. Jest autorem wielu aplikacji i suplementów. Współtwórca największej strony o PHP w Polsce www.php.pl. Kontakt z autorem: ls@ez.no 58