Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wybór języków
-scrat-
post
Post #1





Goście







Witam!

Planuje na stronie zrobić wybór języków, nietety samemu nie daje rady :/
Nie wiem czemu ale nie moge dojść do odpowiedniej komędy.
Chodzi o to aby po naciśnięciu na flagę wczytywał TYLKO texty a nie stronę.

a więc index.php
  1. <?php include("language/pl.php")
  2. ;?> <-- standardowy język
  3. .....
  4. <td width="30"><a href="<?php include("language/de.php")?>" taget=""><IMG src="cz/deutsch.jpg"></a></td>
  5. <td width="720"><a href="<?php echo "language/pl.php";?>" taget=""><IMG src="cz/polski.jpg"></td>
  6. .....
  7. <--- w żaden sposób mi nie wychodzi (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)  

language/pl.php
  1. <?php
  2.  
  3.  
  4. $n = Polskatest;
  5. $menu2 = Info;
  6. $menu3 = menu3;
  7. $menu4 = menu4;
  8. $menu5 = menu5;
  9. $menu6 = menu6;
  10. $menu7 = menu7;
  11. $link1 = linki;
  12. $link2 = Forum;
  13. $link3 = guestbook;
  14.  
  15. ?>


(IMG:http://forum.php.pl/uwaga.gif)
Tym razem poprawiłem.
~mike_mech
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
DreeD
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 120
Pomógł: 0
Dołączył: 29.11.2003
Skąd: Tarnów

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


Po nacisnieciu obrazka niech przenosi na strone np. index.php?lang=pl

Teraz wystarczy zrobic sobie
  1. <?php
  2. switch ($_GET['lang']) { 
  3. /* 
  4. To jest niepotrzebne jak w default includujesz pl.php
  5. case pl: 
  6. include ("lang/pl.php"); 
  7. break; */
  8.  
  9. case en: 
  10. include ("lang/en.php");
  11. break;
  12.  
  13. case de: 
  14. include ("lang/de.php");
  15. break;
  16.  
  17. default: // Edit: zapomnialem o default..
  18. include ("lang/pl.php"); 
  19. break;
  20. }
  21. ?>
Go to the top of the page
+Quote Post
gulldarek
post
Post #3





Grupa: Zarejestrowani
Postów: 156
Pomógł: 15
Dołączył: 13.09.2003
Skąd: London

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


  1. <?php
  2.  
  3. if (!$_REQUEST['lang'])
  4. {
  5. $lang = 'pl';
  6. }
  7. else
  8. {
  9. $lang = $_REQUEST['lang'];
  10. }
  11.  
  12. include("language/" . $lang . ".php");
  13. ;?>
  14.  
  15. .....
  16. <td width="30"><a href="?lang=de" taget=""><IMG src="cz/deutsch.jpg"></a></td>
  17. <td width="720"><a href="?lang=pl" taget=""><IMG src="cz/polski.jpg"></td>
  18. .....


Pisane na szybko, ale dzialac powinno (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


A propo twojego pliku language/pl.php.
Zacznij Ty może od jakiegoś kursu dla początkujących, co :?:
A w pierszej kolejności: Łańcuchy znaków (string)
Go to the top of the page
+Quote Post
gulldarek
post
Post #5





Grupa: Zarejestrowani
Postów: 156
Pomógł: 15
Dołączył: 13.09.2003
Skąd: London

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


  1. <?php
  2.  
  3.  
  4. $n = 'Polskatest';
  5. $menu2 = 'Info';
  6. $menu3 = 'menu3';
  7. $menu4 = 'menu4';
  8. $menu5 = 'menu5';
  9. $menu6 = 'menu6';
  10. $menu7 = 'menu7';
  11. $link1 = 'linki';
  12. $link2 = 'Forum';
  13. $link3 = 'guestbook';
  14.  
  15. ?>


(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !

Ten post edytował gulldarek 4.12.2005, 21:11:21
Go to the top of the page
+Quote Post
-scrat-
post
Post #6





Goście







dzięki
skrypty działają perfect !

mogę teraz zastosować w skrypcie $HTTP_ACCEPT_LANGUAGE,
i wykorzystać to do aut. wybierania języków. (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)
będzie trudno ale dam rady (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif)
(mam nadzieje)
Go to the top of the page
+Quote Post
-teh-
post
Post #7





Goście







skopiowalem ten skrypt do mojej strony, wszystko jest ok,
prawie

podstrony nie dzialaja
tzn, jezeli w pliku pl.php mam $news = "news";
to w pliku podstrony echo "$news" nic mi nie wyswietla


czy ktos wie dlaczego ?
Go to the top of the page
+Quote Post
-scrat-
post
Post #8





Goście







mam ten sam problem :/
zrobilem druga strone w cz/info.php

i otwieram ja z strony glownej:
Kod
<A class=podmenu href="cz/info.php" target=srodek ><?php echo "$m7k"?>


otwiera mis sie strona
na ktorej istnieje
  1. <?php
  2. echo "$infoin";
  3. ?>

nie wyswietla mi $infoin

jezeli includuje plik PL.php w info.php
to wtedy laduje mi text PL,

co zrobic aby wybor jezyka obowiazywal na cala sesje ?
Go to the top of the page
+Quote Post
AxZx
post
Post #9





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


podeopne sie pod temat zeby nie tworzyc kolejnego topicu, mam nadzieje ze sie nikt nie obrazi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

trzymajac tlumaczenia w pliku jest wszystko dobrze, bo dodajac kolejny jezyk tworzymy nowy plik i tam jeszcze pare poprawek skryptu i dziala

a jezeli trzymama w bazie np kategorie?

kategorie sie zmieniaja, tzn dodaje nowe, zmieniam nazwy itd itp
i chcialem je rowniez tlumaczyc na kilka jezykow

jak baze zorganizowac?

kiedys zrobilem tak:
tabela branze
branza_id | branza_pl | branza_uk | branza_de

ale to jest dla 3 jezykow, zeby dodac kolejny musze dodac kolejna kolumne
czy to jest dobry sposob? zalozmy ze teraz mam 6 jezykow, bede chcial za jakis czas dodac kolejne 6.
czy to zda egzamin?
pozdrawiam
Go to the top of the page
+Quote Post
ghostrider
post
Post #10





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


moze tak:
TB_LANGSY:
id_lang | name (np: polski, angielski .... )
TB_STRINGSY:
id_string | name (np: "SHOW_NEWS" .... )
TB_VALSY:
id_lang | id_string | value (np: "POKAZ NEWSY")
Go to the top of the page
+Quote Post
segos
post
Post #11





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 13.03.2009

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


Odświeżę topic ponieważ mam mały problem. Otóż chodzi o to że wchodząc na stronę wszystko jest po polsku, lecz jeśli zmienię na język angielski to tylko strona główna jest po angielsku, a jak przejdę na byle jaką podstronę to automatycznie idzie na język polski.

  1. <?php
  2. switch ($_GET['lang']) {
  3. case en:
  4. include ("lenguage/en_lang.php");
  5. break;
  6.  
  7. default:
  8. include ("lenguage/pl_lang.php");
  9. break;
  10. }
  11. ?>


Go to the top of the page
+Quote Post
mlawnik
post
Post #12





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Ale odkop.

Bo do następnych stron nie przekazujesz argumentu get.
Go to the top of the page
+Quote Post
blooregard
post
Post #13


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat(segos @ 16.05.2011, 21:49:19 ) *
Odświeżę topic ponieważ mam mały problem. Otóż chodzi o to że wchodząc na stronę wszystko jest po polsku, lecz jeśli zmienię na język angielski to tylko strona główna jest po angielsku, a jak przejdę na byle jaką podstronę to automatycznie idzie na język polski.

  1. <?php
  2. switch ($_GET['lang']) {
  3. case en:
  4. include ("lenguage/en_lang.php");
  5. break;
  6.  
  7. default:
  8. include ("lenguage/pl_lang.php");
  9. break;
  10. }
  11. ?>


A przekazujesz w GET zmienną 'lang' do każdej podstrony?
Go to the top of the page
+Quote Post
segos
post
Post #14





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 13.03.2009

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


Czyli musiał bym przerobić index.php

  1. <?php
  2. // zmienna $go przekazana metoda GET
  3. $go = $_GET['go'];
  4.  
  5. // sprawdzamy czy zmienna $go nie jest pusta
  6. if(!empty($go)) {
  7. // sprawdzamy czy plik o danej nazwie istnieje
  8. if(is_file("page/$go.php")) include "page/$go.php";
  9. // jezeli plik nie istnieje wyswietla się komunikat
  10. else echo "<br />Nie ma takiej strony :-(";
  11. }
  12. // jezeli zmienna $go jest pusta wyswietla się strona glowna
  13. else include "page/start.php";
  14.  
  15. ?>
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #15





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Cytat(segos @ 16.05.2011, 20:49:19 ) *
Odświeżę topic (...)

Ty nie odświeżyłeś, Ty odkopałeś ;p
Cytat(segos @ 16.05.2011, 21:00:43 ) *
Czyli musiał bym przerobić index.php

Musisz przekazać parametry w linku:
Cytat

Możesz coś np. tak:
  1. <?php
  2. $query = preg_replace("/(^l=..|&l=..)/i", "", $_SERVER["QUERY_STRING"]);
  3.  
  4. if ($query<>"") $adres = $_SERVER["PHP_SELF"]."?$query&amp;";
  5. else $adres = $_SERVER["PHP_SELF"]."?";
  6.  
  7. if ($_GET["l"]=="en") {
  8. echo "<a href=\"{$adres}l=pl\">Wersja polska</a>";
  9. } else {
  10. echo "<a href=\"{$adres}l=en\">English version</a>";
  11. }
  12. ?>

lub w sesji:
  1. <?php session_start(); ?>
  2. <p>
  3. <a href="index.php?jezyk=pl">polski</a> -
  4. <a href="index.php?jezyk=en">angielski</a>
  5. </p>
  6.  
  7. <?
  8. $jezyk = $_GET["jezyk"];
  9.  
  10. if (isset($jezyk) && file_exists("lang/$jezyk.php")) {
  11. $_SESSION["jezyk"] = $jezyk;
  12. } else {
  13. $_SESSION["jezyk"] = isset($_SESSION["jezyk"])?$_SESSION["jezyk"]:"pl";
  14. }
  15. include("lang/{$_SESSION["jezyk"]}.php");
  16. ?>
  17.  
  18. <p>
  19. <?php= LANG_HASLO ?>
  20. </p>
  21.  
  22. <p>
  23. <?php=LANG_LOGIN ?>
  24. </p>

i pliki językowe:
pl.php:
  1. <?php
  2. define("LANG_HASLO", "Wprowadź hasło.");
  3. define("LANG_LOGIN", "Wproswadź login");
  4. ?>

en.php
  1. <?php
  2. define("LANG_HASLO", "Enter password.");
  3. define("LANG_LOGIN", "Enter login");
  4. ?>
Go to the top of the page
+Quote Post
segos
post
Post #16





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 13.03.2009

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


Robiąc tak jak pisałeś to mi wyskakuje błąd index.php on line 28
  1. ...
  2. <title><?php=title ?></title>
  3. ...


//

Tu jest moj index.php z poprzednimi obcjami

  1. <?php
  2.  
  3. // zmienna potrzebna do prawidlowego wczytania includowanych plikow
  4. $add_site = true;
  5. /*
  6. plik z funkcjami z porady
  7. <a href="http://www.kess.com.pl/index.php?sid=10&pid=54" target="_blank">http://www.kess.com.pl/index.php?sid=10&pid=54</a>
  8. */
  9. include "include/function.php";
  10. include "include/jezyki_conf.php";
  11. ?>
  12.  
  13. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  14. <html>
  15. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  16. <meta http-equiv="Reply-to" content="segos92@gmail.com" />
  17. <meta name="Author" content="Shelvi" />
  18. <head>
  19. <title><?php echo "$title";?></title>
  20. <link rel="stylesheet" href="/style.css" type="text/css">
  21. </head>
  22. <body>
  23. <table border="0" width="800" cellpadding="0" cellspacing="2" align="center">
  24. <?php include "include/naglowek.php"; ?>
  25. <tr>
  26. <td valign="top"><?php include "include/menu_lewe.php"; ?></td>
  27. <td valign="top">
  28. <?php
  29. // zmienna $go przekazana metoda GET
  30. $go = $_GET['go'];
  31.  
  32. // sprawdzamy czy zmienna $go nie jest pusta
  33. if(!empty($go)) {
  34. // sprawdzamy czy plik o danej nazwie istnieje
  35. if(is_file("page/$go.php")) include "page/$go.php";
  36. // jezeli plik nie istnieje wyswietla się komunikat
  37. else echo "<br />Nie ma takiej strony :-(";
  38. }
  39. // jezeli zmienna $go jest pusta wyswietla się strona glowna
  40. else include "page/start.php";
  41.  
  42. ?>
  43. </td>
  44.  
  45. <td valign="top"><?php include "include/menu_prawe.php"; ?></td>
  46. </tr>
  47. <?php include "include/stopka.php"; ?>
  48. </table>
  49. </body>
  50. </html>


jezyki_conf.php

  1. <?php
  2. // sprawdzenie czy zmienna $add_site istnieje
  3. if(!$add_site) exit;
  4. ?>
  5. <?php
  6. switch ($_GET['lang']) {
  7. /*
  8. To jest niepotrzebne jak w default includujesz pl.php
  9. case pl:
  10. include ("lang/pl.php");
  11. break; */
  12.  
  13. case en:
  14. include ("lang/en.php");
  15. break;
  16.  
  17. case es:
  18. include ("lang/es.php");
  19. break;
  20.  
  21. default: // Edit: zapomnialem o default..
  22. include ("lang/pl.php");
  23. break;
  24. }
  25. ?>


Ten post edytował segos 17.05.2011, 17:59:24
Go to the top of the page
+Quote Post
mlawnik
post
Post #17





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Czyżby następny przypadek copypasteryzmu?

http://forum.php.pl/index.php?showtopic=17...mp;#entry858008

Ten kod co dałeś niczego nie daje.
Cała treść błędu i więcej kodu.

Go to the top of the page
+Quote Post
segos
post
Post #18





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 13.03.2009

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


Cytat(mlawnik @ 18.05.2011, 20:37:06 ) *
Czyżby następny przypadek copypasteryzmu?

http://forum.php.pl/index.php?showtopic=17...mp;#entry858008

Ten kod co dałeś niczego nie daje.
Cała treść błędu i więcej kodu.


Jak mam ci dać cala treść błędu skoro błąd jest w tytule tzn na lini 28 w index.php a ta linia to właśnie to

  1. <title><?php=title ?></title>


Więc zastosowanie Kshyhoo nie chce mi działać, bo wątpię że źle robię skoro dał podpowiedź jak mniej więcej zrobić. A ten kod co podałem to zastosowanie DreeD lecz próbowałem robić tak jak pisał
mlawnik i blooregard lecz źle to robiłem bo tak czy siak nie działało.

Ten post edytował segos 18.05.2011, 19:59:06
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: 24.08.2025 - 17:43