Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html] Dwujezyczna strona www
Forum PHP.pl > Forum > Przedszkole
devaitis
Witam

Dostałem od szefa zadanie aby do już postawionej strony www.pablomusic.pl zrobić wersję angielską.

Od czego zaczać, co przeczytać, które pliki należy edytować, czy sa gotowe rozwiązania i czy będzie ciężko?

Informuję, iż moje jedyne doświadczenie z pisaniem w php html css sql to postawienie i konfiguracja oscommerce'a.

Dziękuję z góry za naprowadzenie!
Mlodycompany
czytac to chyba nic. jak ja bym to robil to zrobil bym sobie tablice albo baze z odpowiednikami polskimi i angielskimi i je wczytywal na strone.
poxrimex
Tzn tutaj prosty skrypt php wchodziłby w grę.

Proponuje odczytać język strony z urla. Czyli domyślnie j. polski. Jeżeli użytkownik zaznaczy język angielski to w url pablomusic.pl?jezyk=angielski

i odczytujesz za pomocą:

  1. <?php
  2. $zmienna=$_GET['jezyk'];
  3. if (empty($zmienna)
  4. {
  5. // Oznacza ze nic nie jest wprowadzone czyli jezyk polski
  6. // Kod dla j. polskiego
  7. }
  8. elseif ($zmienna='angielski')
  9. {
  10. // kod dla j. angielskiego
  11. }
  12. ?>
wert1
Coś takiego napisalem powiedz czy dziala :
  1. <?php
  2.  
  3.  
  4.  
  5.  
  6.  
  7. if (($_GET['lang'] == "pl"))
  8.  
  9. {
  10.  
  11. unset($_SESSION['eng']);
  12. $_SESSION['pl'] = true;
  13.  
  14. header("Location: index.php");
  15.  
  16. exit();
  17.  
  18. }
  19.  
  20. else if (($_GET['lang'] == "eng")) 
  21.  
  22. {
  23.  
  24. unset($_SESSION['pl']);
  25. $_SESSION['eng'] = true;
  26.  
  27. header("Location: index.php");
  28.  
  29. exit();
  30. }
  31.  
  32. else if (($_GET['lang'] == "w")) 
  33.  
  34. {
  35.  
  36.  
  37. header("Location: index.php");
  38.  
  39.  
  40.  
  41.  
  42. }
  43.  
  44.  
  45. if(isSet($_SESSION['pl'])){
  46. header("Location: index.php");
  47. exit();
  48.  
  49. }
  50.  
  51. else if(isSet($_SESSION['eng']))
  52. {
  53.  
  54.  
  55.  
  56. header("Location: index.php");
  57. exit();
  58.  
  59. } else {
  60.  
  61.  
  62. include "strony/lang.php";
  63.  
  64.  
  65. }
  66.  
  67. ?>



i jeszcze to :
  1. <?php
  2.  
  3.  
  4. if(isSet($_SESSION['pl'])){
  5.  
  6. $lang = "pl"; 
  7. }
  8. else if(isSet($_SESSION['eng']))
  9. {
  10.  
  11. $lang = "eng"; 
  12.  
  13.  
  14. } else {
  15.  header("Location: lang.php");
  16. exit();
  17. }
  18. ?>


wywołujesz lang.php?lang=eng
devaitis
O dzięki
Czyli co dokładnie mam zrobić z tymi kodami?
bmL
Dostałeś zlecenie a nie wiesz jak za to się zabrać? Dziwne.
Niestety za dużo nie można powiedzieć nie widząc jak wygląda cały skrypt.
Nawet nie wiem czy jest tam wykorzystany php. Chociaż wygląda na to, że jest zastosowany mod_rewrite menu jest we falshu musiał byś mieć flaka z tego flasha, żeby zmienić jezyk chyba, że zawartość menu we flashu jest pobierana z "zewnątrz".
Chociaż, jeżeli chodzi Ci o sam wybór języka a resztę jesteś w stanie zrobić sam to ja bym proponował zastosowanie cookie w którym zapisał byś wybrany język. Niestety więcej nie da się powiedzieć nie wiedząc nawet jak generowana jest strona. Czy to jest mod_rewrite czy po prostu każda podstrona w innym folderze?

EDIT:
Przyglądam się dalej i widzę, że jest to mod_rewrite + php ale nic więcej nie wiem.
devaitis
O to się rozchodzi, polecenie jest takie abym się nauczył jak to zrobic. Nigdy nie ciachałem stronek. Wiec pytam was o szczegóły, piszcie co wam przedstawić z ftp-a, jakie pliki żeby było widomo jak mi pomóc.

Nie działaja mi wasze skrypty

index.php

Kod
<?php

session_start();
$sid = session_id();

require('includes/dbal.php');
require('includes/smarty/Smarty.class.php');
$template = new Smarty();

$lang = addslashes($_GET['lang']);
switch($lang)
{
     case 'pl':
     case 'en':
         $template->assign('config', $lang . '.conf');
         break;

     default:
         if(ereg('pl', $_SERVER['HTTP_ACCEPT_LANGUAGE']))
         {
             $template->assign('config', 'pl.conf');
             $lang = 'pl';
         }
         else
         {
            
             $template->assign('config', 'en.conf');
             $lang = 'en';
          }
         break;
}

require 'includes/config.php';


switch($dir)
{
    
     case '': //strona glowna
         $template->assign('site_def', 'main.tpl');
         $u_f = get_option('glowna','flash'); //menu
         $template->assign('menu', get_option('flash WHERE flash_id="'.$u_f.'"',$url_));
         $per_page = get_option('newsy_set', 'per_page_glowna');//newsy
         $result = sql('SELECT id, temat, data_pokazania, tresc_wstepna, tresc, link_adres, link_nazwa FROM newsy_'.$lang.' WHERE NOW() BETWEEN data_pokazania AND data_konca_pokazywania ORDER BY id DESC LIMIT ' . $per_page);
         $data = array();
         while($row = mysql_fetch_array($result))
             {
                 $data[] = $row;
             }
         $template->assign('news', $data);
         if ($lang == 'pl') {$template->assign("tu","Strona główna");} else {$template->assign("tu","Home");}
         break;
    
    
     default: //podstrony
         $query = 'podstrony WHERE (url_name_pl="'.$dir.'") OR (url_name_en="'.$dir.'") LIMIT 1';//zawartosc
         $template->assign('content', get_option($query, $podstrony_content_));
         $template->assign('naglowek', get_option($query, $podstrony_naglowek_));
         $template->assign('site_def', 'podstrona.tpl');
         $result = sql('SELECT '.$url_.' FROM flash WHERE flash_id ="'.get_option($query, flash).'" LIMIT 1'); //menu
         $row = mysql_fetch_row($result);
         $template->assign('menu', $row[0]);
         $pi[0]["link"] = ""; //tu jestes
         $pi[0]["opis"] = get_option($query, $podstrony_naglowek_);
         $template->assign("tujestes",$pi);
         if ($lang == 'pl') {$template->assign("tu","<a href=\"/pl/\" class=\"tua\">Strona główna</a>");} else {$template->assign("tu","<a href=\"/en/\" class=\"tua\">Home</a>");}
         break;

     case 'news':
         include('includes/news.php');
         $u_f = get_option('glowna','flash'); //menu
         $template->assign('menu', get_option('flash WHERE flash_id="'.$u_f.'"',$url_));
        
         break;

     case 'instrumenty':
     case 'instruments':
         $u_f = get_option('kategorie_set', 'flash'); //menu
         $template->assign('menu', get_option('flash WHERE flash_id="'.$u_f.'"',$url_));
         include('includes/kat.php');            
         break;

     case 'portfolio':
         include('includes/portfolio.php');            
         $u_f = get_option('portfolio_set', 'flash'); //menu
         $template->assign('menu', get_option('flash WHERE flash_id="'.$u_f.'"',$url_));
         break;

}






$self  = empty($dir) ? '' : $dir;
$self .= empty($subdir) ? '' : '/' . $subdir;
$self .= empty($item) ? '' : '/' . $item;
$self .= empty($view) ? '' : '/' . $view;
$self .= empty($nr) ? '' : '/' . $nr;

$template->assign('U_SELF', $self);
$template->assign('dir', $dir);
$template->assign('subdir', $subdir);
$template->assign('item', $item);

$template->display('index.tpl');

?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.