Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]includowanie języka
Johnas
post
Post #1





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Witam zrobiłem funkcje na stronie że język zmienia się do języka przeglądarki ale jak zrobić że jak ktoś wpisze domene en.youphoto.pl to ma strone po angielsku a jak wpisze pl.youphoto.pl to ma po polsku ? mogę dodać nieskończoną ilość subdomen tak że to nie jest problem (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
--carkar--
post
Post #2





Goście







Ja bym to zrobił na JS. Wczytał z paska przeglądarki adres, który wyświetlam.
Go to the top of the page
+Quote Post
carkar
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 5
Dołączył: 27.02.2011

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


dokładnie to tak to sprawdzisz:
Kod
document.location


Ten post edytował carkar 27.02.2011, 19:09:02
Go to the top of the page
+Quote Post
Johnas
post
Post #4





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


myślałęm jakoś o htaccess i $_GET ale nie wiem czy tak sie da
Go to the top of the page
+Quote Post
carkar
post
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 5
Dołączył: 27.02.2011

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


GET'em nie zrobisz bo to subdomena a nie zmienna, na htacces'ach trzeba się pobawić, ale jest taka możliwość.
P.S: co masz do JS'ów?? (IMG:style_emoticons/default/smile.gif)

Ten post edytował carkar 27.02.2011, 19:12:48
Go to the top of the page
+Quote Post
Johnas
post
Post #6





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Hmm... nie ma niby wyniku w manualu (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
carkar
post
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 5
Dołączył: 27.02.2011

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


Bo to JavaScipt a nie PHP. Wydaje mi się że na PHP nie ma takiej możliwości.

Ten post edytował carkar 27.02.2011, 19:13:49
Go to the top of the page
+Quote Post
Johnas
post
Post #8





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Na javie słabo się znam (IMG:style_emoticons/default/sad.gif) nawet nie raczkuje tylko się czołgam (IMG:style_emoticons/default/sad.gif) powiesz mniej więcej co zrobić aby do zmiennej dać ten wpisany link ?
Go to the top of the page
+Quote Post
carkar
post
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 5
Dołączył: 27.02.2011

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


Nie Java tylko JavaScript, napisz do mnie na PW maila to ci wyśle kod i skana z gazety.

Ten post edytował carkar 27.02.2011, 19:18:08
Go to the top of the page
+Quote Post
Johnas
post
Post #10





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


kurcze mam tak i $link nic nie zwraca.
  1. <!DOCTYPE html>
  2.  
  3. <body onload=pisz();> <!-- niejestesm pewien -->
  4. <script type="text/javascript">
  5. function pisz {
  6. var co
  7. co = document.location;
  8. var div = document.getElementById("pasek");
  9. div.innerHTML = co;
  10. }
  11. </script>
  12.  
  13. <!-- robisz ukryty div -->
  14. <?php $link = "<div class=\"pasek\" hidden=\"hidden\" <!-- nie wiem czy dobrze napisałem to słowo -->
  15. </div>";
  16.  
  17. if ($link == 'en.youphoto.pl'){
  18. include('language/en.php');
  19. } elseif ($link == 'pl.youphoto.pl'){
  20. include('language/pl.php');
  21. }else{
  22.  
  23. $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  24.  
  25. switch($lang)
  26. {
  27. case 'pl':
  28. include('language/pl.php');
  29.  
  30. break;
  31. case 'en':
  32. include('language/en.php');
  33.  
  34. break;
  35. default:
  36. include('language/pl.php');
  37. }
  38. }
  39. ?>
  40. <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  41. <title><?php echo $_lang['title']; ?></title>
  42. <meta charset="utf-8">
  43. <meta name="description" content="<?php echo $_lang['description']; ?>">
  44. <meta name="keywords" content="<?php echo $_lang['tags']; ?>">
  45. <meta name="robots" content="index,follow">
  46. <link href="css/reset.css" rel="stylesheet" type="text/css">
  47. <link href="css/layout.css" rel="stylesheet" type="text/css">
  48. <link href="css/style.css" rel="stylesheet" type="text/css">
  49. <link href="css/prettyPhoto.css" rel="stylesheet" type="text/css" media="screen" title="prettyPhoto main stylesheet">

Go to the top of the page
+Quote Post
Maxik
post
Post #11





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


Poszukaj sobie o wildcard i htaccess. Tu masz sporo informacji: http://eriz.pcinside.pl/weblog/mod_rewrite...wiazac-208.html
Go to the top of the page
+Quote Post
Johnas
post
Post #12





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Dobra zmieniłem tak:
  1. <!DOCTYPE html>
  2. <?php
  3. $link = $_GET['lang'];
  4.  
  5. if ($link == 'en'){
  6. include('language/en.php');
  7. } elseif ($link == 'pl'){
  8. include('language/pl.php');
  9. }else{
  10.  
  11. $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  12.  
  13. switch($lang)
  14. {
  15. case 'pl':
  16. include('language/pl.php');
  17.  
  18. break;
  19. case 'en':
  20. include('language/en.php');
  21.  
  22. break;
  23. default:
  24. include('language/pl.php');
  25. }
  26. }
  27. ?>


w htaccess dodałem 2 linijki
Kod
RewriteCond %{HTTP_HOST} ^([^.]+)\.youphoto\.pl [NC]
RewriteRule ^(.*) http://youphoto.pl/?lang=%1 [QSA]


Ale po wpisaniu en.youphoto.pl przenosi na http://youphoto.pl/?lang=en a ja chciał bym aby cały czas było en.youphoto.pl
Go to the top of the page
+Quote Post
Fifi209
post
Post #13





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Zamiast:

http://youphoto.pl/?lang=%1

daj

skrypt.php?lang=$1

i zamiast samej flagi QSA
dodaj jeszcze L

[QSA,L]
Go to the top of the page
+Quote Post
Johnas
post
Post #14





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Ale chciał bym aby to działało na wszystkie podstrony... Nie tylko na strone główną ale na profile.php gdzie mam wiele $_GET`ów
Przykład linku z opcji w profilu wygląda tak
Kod
profile.php?act=option&actopt=profile_setting



Ten post edytował Jonek_1993 28.02.2011, 00:49:04
Go to the top of the page
+Quote Post
Fifi209
post
Post #15





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Uznałem, że robisz tak jak być powinno - wszystko leci do pliku index, gdzie potem odpowiednio wykonujesz akcje - i pod takie założenie pisałem odpowiedź.
Go to the top of the page
+Quote Post
Johnas
post
Post #16





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


a jest jakaś możliwość zrobienia tego aby działało na wszystkie strony? i aby to było w jakiejś zmiennej ? albo jakiś inny sposób ?
Go to the top of the page
+Quote Post
Fifi209
post
Post #17





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Inny sposób podałem - wszystko kieruj do index.php (cały ruch), który odpala wykonuję daną akcję (np. includuje daną podstronę)

Co do pytania o zapis do zmiennej - może to być np. $_SESSION będziesz miał łatwy dostęp.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 14.09.2025 - 22:36