Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Jak zrobić stronę wielojęzyczną? - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript)
+--- Wątek: Jak zrobić stronę wielojęzyczną? (/thread-jak-zrobic-strone-wielojezyczna)



Jak zrobić stronę wielojęzyczną? - disaster - 21-12-2010

Szukałem wiele porad na necie i nie bardzo znalazłem odpowiedź.
Otóż do tej pory robiłem strony tylko w polskiej wersji językowej. A jak zabrać się do np wersji strony polsko- i angielsko-języcznej?

Będę niebawem zabierał się za taką stronę i chciałbym już wiedzieć co będzie trzeba zrobić, żeby dobrze wycenić robotę. Niewykluczone, że będę potrzebował pomocy kogoś mądrzejszego, stąd muszę odpowiednio zabrać się za przygotowanie całego projektu.

Czytałem niby o phpPtal ale nie wiem czy ktoś z Was to stosuje.
Widzę, że w przykładach phpPtal mam schemat strony:
Kod:
<code lang="xml">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title i18n:translate="nazwa_tekstu1">
miejsce na tytuł strony
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
treść
</body>

</html>
</code>

czy mogę to zastąpić:

Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
    <head>
        <title>……</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <meta name="description" content="……"/>
        <meta name="robots" content="all"/>
        <link rel="stylesheet" href="style.css" type="text/css"/>
    </head>
<body>
miejsce na treść strony
</body>

</html>


Czy może ktoś dać wskazówki dla raczkującego w tej dziedzinie.?


RE: Jak zrobić stronę wielojęzyczną? - Pedro84 - 21-12-2010

Na jakim silniku opierasz stronę (FW, coś własnego, klepanie strukturalne)?


RE: Jak zrobić stronę wielojęzyczną? - disaster - 22-12-2010

(21-12-2010, 19:44)Pedro84 napisał(a): Na jakim silniku opierasz stronę (FW, coś własnego, klepanie strukturalne)?

chyba struktura...


RE: Jak zrobić stronę wielojęzyczną? - trak - 22-12-2010

Jeśli nie wiesz czy piszesz strukturalnie czy obiektowo to raczej nie polecam używania phptal'a.
Najprostsze rozwiązanie to stworzenie tablic z tłumaczeniami, czyli tworzysz osobne tablice dla każdego języka, gdzie kluczem jest ustalona wartość np. dla 'strona www'
dla pl
Kod PHP:
$trans = array('strona www'=>'strona www'
dla en
Kod PHP:
$trans = array('strona www'=>'webpage'

teraz piszesz funkcje, która szuka odpowiedniej wartości dla zadanego języka
Kod PHP:
function translate($str)
{
  return 
$trans[$str];


Oczywiście tłumaczenia najlepiej trzymać w osobnych plikach, bo wtedy łatwo dołączyć nowy język. No i plik z tłumaczeniem wczytujesz tylko raz na początku.

Mam nadzieję że przekazałem idee tego rozwiązania. Nie wiem czy używasz jakiegoś systemu szablonów, stąd tylko ogólny zarys.


RE: Jak zrobić stronę wielojęzyczną? - Pedro84 - 22-12-2010

(22-12-2010, 09:01)disaster napisał(a): chyba struktura...
Nie no, disaster jak to...chyba? Smile

Generalnie, wszystko zależy jak to napiszesz.
1. Języki trzymaj w plikach
2. Wykrywanie języka bazuje na języku przeglądarki, jeśli inny niż twój język domyślny. Oczywiście ciacho się przyda do zapamiętania wyboru.

Podaj więcej szczegółów.


RE: Jak zrobić stronę wielojęzyczną? - disaster - 23-12-2010

(22-12-2010, 12:23)trak napisał(a): Jeśli nie wiesz czy piszesz strukturalnie czy obiektowo to raczej nie polecam używania phptal'a.
Najprostsze rozwiązanie to stworzenie tablic z tłumaczeniami, czyli tworzysz osobne tablice dla każdego języka, gdzie kluczem jest ustalona wartość np. dla 'strona www'
dla pl
Kod PHP:
$trans = array('strona www'=>'strona www'
dla en
Kod PHP:
$trans = array('strona www'=>'webpage'

teraz piszesz funkcje, która szuka odpowiedniej wartości dla zadanego języka
Kod PHP:
function translate($str)
{
  return 
$trans[$str];


Oczywiście tłumaczenia najlepiej trzymać w osobnych plikach, bo wtedy łatwo dołączyć nowy język. No i plik z tłumaczeniem wczytujesz tylko raz na początku.

Mam nadzieję że przekazałem idee tego rozwiązania. Nie wiem czy używasz jakiegoś systemu szablonów, stąd tylko ogólny zarys.

Dzięki wielkie za podpowiedź, chyba skorzystam z Twojej podpowiedzi, bo wydaje się być najłatwiejsza do zastosowania jak na pierwszy raz.
(22-12-2010, 13:21)Pedro84 napisał(a):
(22-12-2010, 09:01)disaster napisał(a): chyba struktura...
Nie no, disaster jak to...chyba? Smile

Generalnie, wszystko zależy jak to napiszesz.
1. Języki trzymaj w plikach
2. Wykrywanie języka bazuje na języku przeglądarki, jeśli inny niż twój język domyślny. Oczywiście ciacho się przyda do zapamiętania wyboru.

Podaj więcej szczegółów.

Aj Pedro nie zrozumiałeś mnie. Ja się za taką stronę będę zabierał pierwszy raz. Dopiero wszystko jest w fazie przed prototypowej, czyli zbierania maksymalnie dużo wiadomości.


RE: Jak zrobić stronę wielojęzyczną? - Pedro84 - 23-12-2010

Bez szczegółów dobrego systemu nie da się opracować.

Masz jakiś schemat, strukturę?