Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP] wielo języczna strona., potrzebuje pomocy w podmienianiu tekstu.
Neeew
post 3.07.2013, 06:43:12
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.04.2013
Skąd: localhost

Ostrzeżenie: (0%)
-----


closedeyes.gif Googlowałem, Googlowałem & Googlowałem. nie znalazłem nic pożytecznego a potrzebuję mieć stronę w kilku językach, google udostępnia auto-tłumacza ale to wali cały tekst, wszystko inne.
da się jakoś zrobić tłumaczenie bezposrednio za pomoca php?
przykład:

  1. <?php
  2.  
  3. echo "Tekst Polski 1" $PL[1];
  4. echo "Inny Język 1" $ANG[2];
  5. echo "Inny Język 1" $ROS[3];
  6. echo "Inny Język 1" $MEX[4];
  7. echo "Inny Język 1" $HIS[5];
  8.  
  9. $PL[1] == $ANG[2] == $ROS[3] == $MEX[4] == $HIS[5] ;
  10.  
  11. echo "$PL <= $ANG"//jakby byla strona w j.ang odtworzona
  12.  
  13. ?>


*mam kompletna swiadomosc ze moje umiejetnosci php sa zerowe ale chcialem pokazac jak bym chcial to zrobic, wiem ze zapewne zle uzylem tablice.*

da się zrobić coś na podobe? - nie chce żeby czytało stron z np

/translate/ang/index.php

/translate/pl/index.php

tylko bezposrednio z index.php (wszystkie jezyki tu), da się tak wgl?.

w html

  1. <meta charset="utf8">
  2. <form action="Zmien_Jezyk">
  3. <input type="radio" name="ANG" value="eng"/>English</form>
  4. <br/>
  5. <form action="Zmien_Jezyk">
  6. <input type="radio" name="POL" value="pol"/>Polski</form>
  7. <br/>
  8. <form action="Zmien_Jezyk">
  9. <input type="radio" name="ROS" value="russ"/>questionmark.gifquestionmark.gifquestionmark.gif?</form>
  10. </html>


itd

Ten post edytował Neeew 3.07.2013, 07:06:44


--------------------
możesz coś przeczytać jeden raz dokładnie lub przerabiać pare razy.
Go to the top of the page
+Quote Post
b4rt3kk
post 3.07.2013, 07:26:57
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Utwórz sesję, daj sobie jakieś flagi do klikania, żeby ktoś mógł zmienić język i w sesji przechowuj identyfikator języka. Ewentualnie, jeśli ma to tylko chwilowo zmienić język (na 1 podstronie, gdy przejdziesz na kolejną - znów jest w oryginale, użyj GET). Coś w tym stylu:

  1. $_SESSION['lang'] = 'pl';
  2.  
  3. switch ($_SESSION['lang']) {
  4. case 'pl': echo 'tekst po polsku'; break;
  5. case 'en': echo 'tekst po angielsku'; break;
  6. case 'de': echo 'tekst po niemiecku'; break;
  7. }


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Neeew
post 3.07.2013, 07:43:43
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.04.2013
Skąd: localhost

Ostrzeżenie: (0%)
-----


zrobiłem w html coś takiego

  1. <hr>
  2. <IMG src="Flag/Anglia.png" width="130" height="90">
  3. <b class="Tekst_niebieskie_tlo">English</b>
  4. <!-- <br/> -->
  5. <IMG src="Flag/Polska.png" width="130" height="90">
  6. <b class="Tekst_niebieskie_tlo">Polski</b>
  7. <!-- <br/> -->
  8. <IMG src="Flag/Rosja.png" width="130" height="90">
  9. <b class="Tekst_niebieskie_tlo">Русский</b>
  10. <!-- <br/> -->
  11. <IMG src="Flag/Meksyk.png" width="130" height="90">
  12. <b class="Tekst_niebieskie_tlo">Mexic</b>
  13. <!-- <br/> -->
  14. <IMG src="Flag/Hiszpania.png" width="130" height="90">
  15. <b class="Tekst_niebieskie_tlo">Spain</b>
  16. <hr>


tylko niewiem jak z tego zrobić żeby zmieniało język bezpośrednio w jednym pliku.


--------------------
możesz coś przeczytać jeden raz dokładnie lub przerabiać pare razy.
Go to the top of the page
+Quote Post
gitbejbe
post 3.07.2013, 08:07:43
Post #4





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


to nie takie proste.

tutaj masz fajny przykład: http://www.forumweb.pl/porady-i-tutoriale-...egladarki,59071

ale to opcja autowykrywania. Jeśli chcesz aby użytkownik sam dokonywał zmiany języka, to flagi są dobrym pomysłem. Tak czy siak, zaczynają się schody. Najprościej dla Ciebie byłoby chyba powielić stronę w różnych wersjach językowych. Jesli ktoś kliknie np język angielski, to przekieruje go do folderu z projektem strony w tym języku.

czyli jesli masz np domene: jakaś_domena.com i ktoś kliknie w angielska flage, to przekieruje go np do jakas_domena.com/en/

można tez inaczej. tylko nigdy tego nie robiłem więc musiałbyś o tym poczytać. SUBDOMENY
jesli ktoś kliknie w angielską flage, to przekieruje go do : en.nazwa_domeny.com

tak czy siak ta metoda sprowadza się do powielenia tej samej strony do kilku różnych wersji językowych - jesli nie znasz php.

jeśli znasz php, to wtedy kombinujesz. tak jak napsiał @b4rt3kk. Robisz sesje, która przechowa informacje o wybranym języku, a póżniej w kazdej strony oodwoułesz się do jakiejś funkcji, która pozamienia Tobie wszystkie napisy. Wedty np kazdy tekst na stronie mógłbyś trzymac w jakiejś zmiennej a jej wartosc ustalać poprzez case. Roboty a roboty : )
Go to the top of the page
+Quote Post
Neeew
post 3.07.2013, 08:16:48
Post #5





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.04.2013
Skąd: localhost

Ostrzeżenie: (0%)
-----


Cytat(gitbejbe @ 3.07.2013, 09:07:43 ) *
to nie takie proste.

tutaj masz fajny przykład: http://www.forumweb.pl/porady-i-tutoriale-...egladarki,59071

ale to opcja autowykrywania. Jeśli chcesz aby użytkownik sam dokonywał zmiany języka, to flagi są dobrym pomysłem. Tak czy siak, zaczynają się schody. Najprościej dla Ciebie byłoby chyba powielić stronę w różnych wersjach językowych. Jesli ktoś kliknie np język angielski, to przekieruje go do folderu z projektem strony w tym języku.

czyli jesli masz np domene: jakaś_domena.com i ktoś kliknie w angielska flage, to przekieruje go np do jakas_domena.com/en/

można tez inaczej. tylko nigdy tego nie robiłem więc musiałbyś o tym poczytać. SUBDOMENY
jesli ktoś kliknie w angielską flage, to przekieruje go do : en.nazwa_domeny.com

tak czy siak ta metoda sprowadza się do powielenia tej samej strony do kilku różnych wersji językowych - jesli nie znasz php.

jeśli znasz php, to wtedy kombinujesz. tak jak napsiał @b4rt3kk. Robisz sesje, która przechowa informacje o wybranym języku, a póżniej w kazdej strony oodwoułesz się do jakiejś funkcji, która pozamienia Tobie wszystkie napisy. Wedty np kazdy tekst na stronie mógłbyś trzymac w jakiejś zmiennej a jej wartosc ustalać poprzez case. Roboty a roboty : )


dzięki, jak nie będę miał pomocy jak zrobić w jednym pliku to się tego zastosuje ale jednak wolę mieć w jednym bo nie chce mi się "migac" między plikami żeby coś przetłumaczyć, wolę w jednym na pare.


--------------------
możesz coś przeczytać jeden raz dokładnie lub przerabiać pare razy.
Go to the top of the page
+Quote Post
Damonsson
post 3.07.2013, 08:19:56
Post #6





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Jasne i dla strony z 50 językami, dla każdego słowa na stronie 50 razy case... Fajnie wyglądałby kod.
Przy zmianie języka (kliknięcie flagi), zapisujesz go sobie do sesji i później już tylko korzystasz sobie choćby z prostego gettext i tyle, banalne jak stworzenie pierwszego w życiu if'a.
Go to the top of the page
+Quote Post
Neeew
post 3.07.2013, 08:22:26
Post #7





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.04.2013
Skąd: localhost

Ostrzeżenie: (0%)
-----


php chyba nie jest stworzony dla mnie, uczyłem się podstaw pare razy i zapomniałem.. więc do końca nie rozumiem co i jak tam zrobić.


--------------------
możesz coś przeczytać jeden raz dokładnie lub przerabiać pare razy.
Go to the top of the page
+Quote Post
Damonsson
post 3.07.2013, 08:24:40
Post #8





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


No to masz krok po kroku http://www.codeforest.net/translate-and-lo...php-and-gettext
najpierw wytłumaczone na tablicach, a później na gettext IMHO lepsze.
Go to the top of the page
+Quote Post
Neeew
post 3.07.2013, 08:28:15
Post #9





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.04.2013
Skąd: localhost

Ostrzeżenie: (0%)
-----


Cytat(Damonsson @ 3.07.2013, 09:24:40 ) *
No to masz krok po kroku http://www.codeforest.net/translate-and-lo...php-and-gettext
najpierw wytłumaczone na tablicach, a później na gettext IMHO lepsze.


poczytam.


--------------------
możesz coś przeczytać jeden raz dokładnie lub przerabiać pare razy.
Go to the top of the page
+Quote Post
!*!
post 3.07.2013, 08:46:09
Post #10





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Coś słabo szukałeś, temat był wałkowany setki razy (dla frazy "wielojęzyczność" masz 691 wyników). http://www.forum.legalne.info.pl/php-wielo...php-t34529.html tu masz opis jak to zrobić aby było w miarę dobrze, poczytaj też komentarze.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
gitbejbe
post 3.07.2013, 10:18:19
Post #11





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


@Damonsson

dzięki za uwagę ; ) tak jakoś pierwsze co wpadło mi do głowy to case. Jak pisałem, nie robiłem nigdy kilku wersji językowych dlatego nie szukałem rozwiązań. W sumie dziwie się dlaczego nie pomyślałem o tablicach... gettext z pewnością zastosuje jeśli będe coś takiego robić. Dzięki i powiedzenia ; )
Go to the top of the page
+Quote Post
phpion
post 3.07.2013, 10:22:43
Post #12





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(Damonsson @ 3.07.2013, 09:19:56 ) *
Przy zmianie języka (kliknięcie flagi), zapisujesz go sobie do sesji

...i narażasz się na duplikację treści. Wersję językowe powinny być obsługiwane przez osobne adresy, np. domena.pl/pl/strona.html, a nie sesje/ciasteczka.
Go to the top of the page
+Quote Post
Damonsson
post 3.07.2013, 10:26:04
Post #13





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat(phpion @ 3.07.2013, 11:22:43 ) *
...i narażasz się na duplikację treści. Wersję językowe powinny być obsługiwane przez osobne adresy, np. domena.pl/pl/strona.html, a nie sesje/ciasteczka.



Moderator, a czytać nie umie, wstyd wink.gif

Cytat
da się zrobić coś na podobe? - nie chce żeby czytało stron z np

/translate/ang/index.php

/translate/pl/index.php
Go to the top of the page
+Quote Post
Neeew
post 11.07.2013, 13:35:25
Post #14





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.04.2013
Skąd: localhost

Ostrzeżenie: (0%)
-----


Cytat(b4rt3kk @ 3.07.2013, 08:26:57 ) *
Utwórz sesję, daj sobie jakieś flagi do klikania, żeby ktoś mógł zmienić język i w sesji przechowuj identyfikator języka. Ewentualnie, jeśli ma to tylko chwilowo zmienić język (na 1 podstronie, gdy przejdziesz na kolejną - znów jest w oryginale, użyj GET). Coś w tym stylu:

  1. $_SESSION['lang'] = 'pl';
  2.  
  3. switch ($_SESSION['lang']) {
  4. case 'pl': echo 'tekst po polsku'; break;
  5. case 'en': echo 'tekst po angielsku'; break;
  6. case 'de': echo 'tekst po niemiecku'; break;
  7. }


jak to zastosować? trzeba stworzyc jakis oddzielny plik? np nasza strona bedzie w /strona/index.php a tlumaczenie tekstu do tego pliku w /tlumaczenie/index.php ? czy jakoś pod strona w tym samym pliku to zamiescic? chialbym taki sposob, strona bedzie w 5 językach z czasem do 10 nie wiecej. powie ktos jak to użyc?

Ten post edytował Neeew 11.07.2013, 13:37:06


--------------------
możesz coś przeczytać jeden raz dokładnie lub przerabiać pare razy.
Go to the top of the page
+Quote Post
buliq
post 11.07.2013, 13:37:59
Post #15





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Gettext

Rozwiązanie może nie idealne, ale lepiej zarządza się samymi plikami z tłumaczeniem niż formą w jakiej to przedstawiłeś.


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 12:15