![]() |
![]() |
--free-- |
![]()
Post
#1
|
Goście ![]() |
Witam,
Potrzebuje zrobić stronkę wielojęzyczną. Znalazłem przykład na necie i stworzyłem w pliku index.php
w folderze /langs są pliki lang.class.php
oraz pliki pl.php oraz en.php gdzie są wpisy : <?php $lang['main_page'] = 'Strona główna'; ?> po wywołaniu strony index.php jest błąd : Fatal error: Call to undefined function __() in C:\Program Files\WebServ\httpd-users\tg\index.php on line 12 Serwer HTTP: Apache/2.2.6 (Win32) PHP/5.2.5 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ty naprawdę nie widzisz? Przyjrzyj się zasięgowi klamerek
|
|
|
-test- |
![]()
Post
#3
|
Goście ![]() |
chyba jestem ślepy albo juz na oczy nie widze
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Porób sobie wcięcia, to powinieneś widzieć
|
|
|
-test- |
![]()
Post
#5
|
Goście ![]() |
zrobilem ... i nie widze (IMG:style_emoticons/default/co_jest.gif)
|
|
|
-test- |
![]()
Post
#6
|
Goście ![]() |
zmieniłem na :
błądu nie ma ale jest cyzsta strona tekst sie nie wyświetił |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy aby ta konstrukcja jest dobra:
Cytat elseif(isset($_SESSION['site_lang']) AND array_key_exists(($lang = strtolower($_SESSION['site_lang'])), $this->languages)) czy nie powinno być: Cytat else { if(warunek){
......... działanie ............. } } |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
@Rid Obie konstrukcje są równoważne, tzn. że działają tak samo.
@mat-bi Kolega nie widział problemu z klamerkami, bo go nie było. @do autora Klasę Lang masz napisaną prawidłowo. Jednak problemem jest użycie funkcji __(). Otóż funkcja ta jest metodą klasy Lang, zatem wywołujemy ją w taki oto sposób: Dodatkowo należy zauważyć, że powyższa funkcja zwraca łańcuch znaków, który potrzebujemy wyświetlić. Zatem kod powinien wyglądać następująco: Wróć zatem do pierwszej wersji kodu i zastąp odpowiednią linię w pliku index.php podanym przeze mnie wyrażeniem. Ten post edytował mortus 20.05.2011, 08:21:17 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Radziłbym czasem pomyśleć. Nie, nie ma w sensie błedu, ale ma, gdyż źle dał zasięg klasy.
|
|
|
-test- |
![]()
Post
#10
|
Goście ![]() |
mortus dzięki zapomniałem o echo lol (IMG:style_emoticons/default/biggrin.gif)
a teraz mam jeszcze parę pytań taki kod działa : a chciałbym taki : <div id="menu_gora"> <?php $txt=''; $txt.="<a href=\"index.php\"> __('menu_index'); </a>"; echo $txt; </div> ii wtedy wynik jest __('menu_index'); da się to przerobic? 2 pytanie : jak rozwiązać problem tabel wielojęzycznych np o strukturze id int primary oferta varchar i jak to zrobić zeby w polskim było np 1 książka 2 długopis a w wejsji angielskiej 1 book 2 pen (IMG:style_emoticons/default/smile.gif) dzięki za pomoc |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o tabele to dodajesz pole lang, bądź też lang_id (bardziej wydajne) i przy zapytaniach where lang="aktualny_jezyk". O to chodziło? Ten post edytował 1010 21.05.2011, 12:21:46 |
|
|
-test- |
![]()
Post
#12
|
Goście ![]() |
tylko mysle jak strukture ulozyc zeby to w jednej tabeli zmiescic np
id opis_pl opis_en ilosc_pl ilosc_en 1 ksiazka book jeden one itd bo tabela zamowienie posiada 22 pola |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 19:56 |