![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 167 Pomógł: 0 Dołączył: 30.04.2004 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Witam
Na stronie, nad którą obecnie pracuję, chciałbym umieścić 2 wersje językowe. Oczywiście samo zrobienie ot tak tego, to żaden problem, pytanie tylko jak zrobić to elegancko (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dodam, że chciałbym, aby również tagi alt i title były w razie czego w angielskiej wersji językowej. Ma ktoś pomysł jak to elegancko zrealizować? O szablonach nie wiem nic, ale może to trzeba jakoś na tej zasadzie realizować? np. dać alt="{opis1}" i później to przetwarzać w zależności od wybranej wersji językowej ? Pytanie tylko czy powinno się to robić za każdym razem czy może raz a może jeszcze jakoś inaczej? Czekam na Wasze pomysły i opinie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Najprościej to możesz includować dokument z sekcją head i ptoblem rozwiązany
Co do altów, to juz chyba gorzej. Może jakiś skrypt wykrywający jaki plik jest includowany w headzie i odpalający odpowiednie zmienne znacznikach alt Aha, rzy przełączaniu wersji po prostu wysyłasz via post lub get zmienną dla instrukcji warunkowej zawartej na poczatku dokumentu (tej ładującej wersję językową) Ten post edytował Cysiaczek 5.03.2005, 19:28:52 |
|
|
![]()
Post
#3
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Najprościej tak,
Dajesz w URLu index.php?foo=bat&lang=pl I załączasz templaty w wersji pl, jesli pobierasz coś z bazy to robisz
Potem wrzucasz to do szablonów i voila (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Mi taki mechanizm w nowej wersji strony OPB zajął ok 50 linijek, wraz z podzialem na mvc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 607 Pomógł: 23 Dołączył: 8.09.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 12.02.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Podobno najszybciej działa coś takiego, jeśli oprzesz te dane na zwykłych tablicach (przynajmniej tak twierdzili developerzy frameworka Seagull na konferencji PHPcon 2004 w Poznaniu). Takie wieeelkieee tablice (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
|
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@Najki ma racje!!!
Tworzysz sobie katalog np "lang" i umieszczasz pliczki z wersjami jezyków i co do tego to dajesz jeszcze w odpowiednim kodowaniu. W pliku tym zawiera sie bardzo duza tablica w ktorej "siedza" teksty do odpowiednich czesci na stronie, wszystko co jest statyczne na stronie. Jesli serwis jest oparty na smarty a jeszcze lepiej jak spelnia MVC to jeszcze latwiej poprostu zaciagasz odpowiedni pliczek. @bela_666 z tym bym sie tak kłócił bo tak naprawde wiekszosc projektów opartych jest na takiej wlasnie zasadzie jak powyzej opisalem, przykład phpMyAdmin. Na bazie danych mozna robic ale wtedy przy zalozeniu ze osoby tłumaczące maja dostep do specjalnego panelu tlumaczeń. Jak powiedział Najki Cytat przynajmniej tak twierdzili developerzy frameworka Seagull na konferencji PHPcon 2004 w Poznaniu i z tym sie zgadzam.
|
|
|
![]()
Post
#7
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
@SongoQ co do wybierania z bazy, ja mysle o artykułach, newsach etc
i z czym byś się nie zgodził ? |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@bela_666 Tak oczywiscie z tym sie zgadzam, bo nie ma innej mozliwości.
Chodziło mi o elementy (teksty) statyczne na www. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
Jak się używa smarty - to 'elementy statyczne' najlepiej ustawiać w configach - i je dynamicznie includować w templacie, np decydując na podstawie zmiennej GET.
|
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@bregovic "Element statyczny" tutaj przyjołem tekst który nie ulega znianie (czyli nie "siedzi" w bazie danych) i wyłącznie zalezy od wersji jezykowej strony.
|
|
|
![]()
Post
#11
|
|
TAO programowania Grupa: Zarejestrowani Postów: 340 Pomógł: 3 Dołączył: 25.03.2003 Skąd: ze słoika Ostrzeżenie: (30%) ![]() ![]() |
Ja zaproponuje wykorzytsanie odrazu smarty i podstawianie danych z tabelek wlasnie
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
A ma ktos doswiadczenie np. z gettext?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 4.03.2005 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
Witam!
ja ostatnio też cos takiegio miałem, ale rozwiązałem to na wyrażeniu warunkowym:
oczywiście wcześniej jest wyciąganie danych z bazy itp... Pozdrawiam, Mateo |
|
|
![]()
Post
#14
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@_Mateo troche Twoja metoda jest nie korzystna dla programisty. Wyobraz sobie taka sytuacje ze aplikacja musi dzialac w kilku jezykach ktorych programista nawet nie zna "Witaj świecie" wtedy 1 pliczek z tlumaczeniem jest wysylany osobie tłumaczącej i dostajesz gotowy pliczek z tablica, kopiujesz go do projektu i juz masz odpowiednia obslugę jezyka. To co ty napisałes mija sie całkowicie z celem.
Chyba nie chciałbys wysyłac kodu tłumaczowi?? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 4.03.2005 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
@ SongoQ: w sumie tez fakt, tylko że zależy do czego to wykorzystać... do moich projektów typu Licznik idiotów itp w zupełności to wystarcza (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wiem, że jest sporo innych sposobów, ale ten jest akurat najprostrzy a mi efekt jaki daje w zupełności wystarcza (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jeśli by wykorzystać np smarty, to faktycznie byłoby to lepsze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) tylko ze tutaj juz nie pomogę (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#16
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@_Mateo rozumiem Twoje podejscie, najprostsze rozwiazanie. W sumie w tym co podales no to moj przyklad troche mija sie z celem.
Ale jak sie projektuje aplikacje i jest mowa o obdludze wielu jezyków to naprawde najwazniejsze jest dla Ciebie aby tlumaczenie przeszlo sprawnie i osoba ktora to robi mogla latwo to zrealizowac. Zadko sie zdaza ze na jakis "dziwny" jezyk tlumaczy programista. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 167 Pomógł: 0 Dołączył: 30.04.2004 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Na tej stronce nie będzie ani dużo rzeczy, ani nie będzie ona skomplikowana. Chodziło mi tylko właśnie o poznanie sposobu podejścia do sprawy. Rozumiem, że warto by było się zainteresować SMARTY. Ciekawe tylko "z czym to się je" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#18
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#19
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
O ile dobrze pamietam to OPT ma wsparcie dla jezykow (jazeli to to w najbluzszych wersjach bedzie).
Ja sam to robie troche inaczej mam dane zachowane odnosnie kazdego modlu i jak cos trzeba to zalatowuwuje te dane wysylam do widoku (np smary albo cokolwiek innego) a on sobie juz wybiera co i jak. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.01.2004 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Trochę odgrzewam topic, ale może ktoś jeszcze czeka:)
Moje zdanie - zrobić to tak jak jest w PHPBB, czyli na tablicach. Tam jak chcesz mieć kolejną wersję językową, to ściągasz odpowiednie pliki i wszystko jest spisane w tablicach ($lang, $faq), pliki mają te same nazwy, ale są w osobnych folderach (lang_pl, lang_en bodajże) i skrypt po prostu inkluduje pliki z odpowiedniego folderu. Prosty i dobry sposób, a co najważniejsze - przenośny. |
|
|
![]()
Post
#21
|
|
Grupa: Zablokowani Postów: 167 Pomógł: 2 Dołączył: 15.02.2004 Ostrzeżenie: (30%) ![]() ![]() |
Chciałbym odświeżyć nie co temat... Czy wiecie jak zrobić, aby skrypt automatycznie wykrywał wersję językowe? Wiele razy widziałem coś takiego, że wchodzę na zagraniczną stronę i od razu pojawia mi się polska wersja językowa. Nie muszę nic wybierać.
Jak to działa? Jak zrobić taką automatyczną detekcję wersji językowej? Czy ktoś może wie? |
|
|
![]()
Post
#22
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#23
|
|
Grupa: Zablokowani Postów: 167 Pomógł: 2 Dołączył: 15.02.2004 Ostrzeżenie: (30%) ![]() ![]() |
Cytat(nospor @ 2006-03-09 12:56:12) i chyba juz wszystko jasne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dziekuję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A dla zainteresowanych tematem polecam ten artykuł: http://www.netcoffee.pl/pogodzinach/2006/0...ka-uzytkownika/ |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dokładne zidentyfikowanie usera, tj jego kraju znakomicie sprawdza się dzięki temu:
http://ip-to-country.webhosting.info/ Potrzebna jest jednak baza do tego. w bazie przechowywane sa pule adresów IP dla danego kraju i na tej podstawie mozna zidentyfikować skąd łączy się użytkownik. |
|
|
![]()
Post
#25
|
|
Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%) ![]() ![]() |
wygodna obsługa języków jest w opt - http://opt.openpb.net/docs/pl/doku.php?id=features:i18n
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 09:54 |