![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 27.06.2002 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chce sobie opracowac stronke w 3 wersjach jezykowych. Jednak nie bardzo wiem jak sie do tego zabrac. 1. Wiem tylko ze np. wszelkiego typu TYTULY przechowywalbym w 3 plikach. jezykPL.inc jezykENG.inc jezykGER.inc Przykladowa zawratosc pliku: [php:1:4429516084]<?php $lang['newsy'] = "Witamy w dziale aktualnosci."; $lang['lplikow'] = "Liczba plikow:"; ?>[/php:1:4429516084] lub uzywac DEFINE.... I tak by wygladal kazdy z tych plikow tylko oczywiscie teksty byly by w roznych jezykach. Tylko nie wiem bardzo jak wywolywac w jakism pliku te $lang['newsy'] ![]() 2. Inny problem to przechowywanie danych w bazie: Czy dobrym pomyslem bedzie jak np. mam pola: id, tytul - to dla 3 wer. jezykowcyh zrobic pola: id, tytulPL, tytulENG, tytulGER ![]() Jesli tak to jak sie pozniej odwolywac MAJAC 1 plik jakiegos skryptu - ktrory ma pracowac dla 3 wersji i w zaleznosci od wybrania wersji ma: wybrac odpwiedni plik i odpwiednie dane z tabeli ![]() Jak wybierac wersje ? Tworzyc sesje ![]() Prosze o swoje sugestie na temat strony z wieloma wersjami jezykowymi. I moze ktos ma linka do jakiegos ciekawego artykulu labo jakiegos proste SKRYPTU zbudowanego dla kilku werji jezykowych. -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 197 Pomógł: 0 Dołączył: 9.09.2003 Skąd: z Marsa Ostrzeżenie: (0%) ![]() ![]() |
AD 1.
W zależności w jaki sposób budujesz serwis. jesli na szablonach to odpowiednio:[xml:1:bccee8935d] <title>{JAKAS_ZMIENNA}</title> [/xml:1:bccee8935d] i w php przypisanie do zmiennej [php:1:bccee8935d]<?php przypisz('JAKAS_ZMIENNA', $lang['tytul']); // * * - (funkcja przypizs nie istnieje i została wykozystana przykładowo) ?>[/php:1:bccee8935d] Lub tworzysz coś na podstawie funkcji (np funkcja tworząca nagłówek [php:1:bccee8935d]<?php function naglowek() { global $lang; echo '<title>'.$lang['tytul'].'</title>'; } ?>[/php:1:bccee8935d] AD 2. Moja wizja tego jest taka by trzymać w bazie pola np: title_pl, tekst_pl , title_eng , text_eng , title_de , text_de i oprzeć wzsystko na sesjach. i jesli sesja nie istnieje to przypisujesz jej wartosc: [php:1:bccee8935d]<?php $_SESSION['jezyk'] = 'pl'; // i jesli ktos zmieni jezyk to ty zmieniasz wpis na odpowiednie 'eng' lub 'de' ?>[/php:1:bccee8935d] i później tylko odpowiednio wybierasz dane z bazy [php:1:bccee8935d]<?php "Select title_".$_SESSION['jezyk']." , text_".$_SESSION['jezyk']." WHERE jakies ID" ?>[/php:1:bccee8935d] Przynajmniej ja to tak kiedyś rozwiazywałem jak sie uczyłem pisać tworząc przykładowe skrypty. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 21.08.2003 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
odnosnie problemu 2
Nie lepiej zrobic po prostu pola: title, text, lang ...i teraz w zaleznosci od wersji jezykowych wyswietlaja sie odpowiednie artykluly, czy co tam? Czyli [php:1:5c62120a77]<?php $query = "SELECT `title`, `text` FROM `articles` WHERE `lang` = '". $_SESSION['current_lang']."'"; ?>[/php:1:5c62120a77] Dzieki temu nie zawsze musza byc identyczne artykuly we wszystkich wersjach jezykowych oraz w przyszlosci bardzo latwo i sprawnie mozna dodac kolejne wersje jezykowe serwisu, hm? :>) -------------------- www.calek.info
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
-------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 19.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ja tworzac kiedys strone 4 jezykach wykombinowalem taki system...
Zaczalem od stworzenia tablic w pliku cfg.php [php:1:09a21d5761]<?php $langs = array ( "pl" => "Polski", "en" => "English", "de" => "Deutch", "fr" => "Français" ); ?>[/php:1:09a21d5761] Pozniej napisalem taki formularz, napisalem go az 4 razy gdzie zmienna lang miala wartosc w pierwszym 1 w drugim 2 itd.. [php:1:09a21d5761]<?php <form method=POST action=index.php> <input type=image src="img/flag_pl.gif" onMouseOver="this.src='img/flag_ov_pl.gif'" onMouseOut="this.src='img/flag_pl.gif'"> <input type=hidden name=lang value=1> </form> ?>[/php:1:09a21d5761] Jeszcze pozniej w pliku index.php zamiscilem taki skrypt [php:1:09a21d5761]<?php $lang = $_POST['lang']; $set = $_SESSION['lang']; if (!(isset($_SESSION['lang']))) $set = pl; if ($lang == 1) $set = pl; if ($lang == 2) $set = en; if ($lang == 3) $set = de; if ($lang == 4) $set = fr; $_SESSION['lang'] = $set; ?>[/php:1:09a21d5761] W includzie dolaczylem plik cfg z tablicami. A zmienne ktore zawieraly jakis tekst wygladaly tak [php:1:09a21d5761]<?php $info[$set] ?>[/php:1:09a21d5761] No i tak to sobie dziala do dzis, zmienna z formularza zapisuje sie w sesji a kazda zmienna bedaca jakims tekstem pobiera wartosc zmiennej $set z sesji. Proste i wygodne rozwiazanie, tak mysle ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 01:30 |