![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 319 Pomógł: 4 Dołączył: 7.02.2009 Skąd: pless Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Posiadam stronę internetową, którą postanowiłem przerobić na wersje wielojęzyczną. Uzyłem do tego tablic: 'language' => array('Wybierz język: ', 'Select Language: ', 'Sprache auswählen: ', 'Choisissez la langue: ', 'Selecteer taal: '), 'plogowania' => array('Podaj dane do logowania w systemie', 'Enter details to log on', 'Geben Sie Details um sich über das System', 'Sil vous plaît soumettre votre login', 'Gelieve uw login'), którą to mam zapisaną w pliku lang.php. Aby wyświetlić wybrany element po przełączeniu języka wpisuje echo lang('plogowania'); Posiadam również inną tablicę z zaincludowanym plikiem lang.php: 'a8' => array ( 'id' => 10, 'nazwa' => 'Język', 'fieldname' => 'a8', 'pole' => 'listaRP' , 'checked' => 'first' ), do której to w miejsce 'Język' muszę przekazać dane z tablicy pierwszej po przełączeniu języka. Próbowałem np. tak: 'a8' => array ( 'id' => 10, 'nazwa' => ''.lang('language').'', 'fieldname' => 'a8', 'pole' => 'listaRP' , 'checked' => 'first' ), ale z jakiegoś powodu zwraca mi puste pole. Jak to rozwiązać? albo jak w inny sposób pobierac wybrane elementy tablicy1 do tablicy2?? Dodam jeszcze, że skrypt jest zrobiony identycznie jak ten na stronie: http://www.webday.pl/viewtopic.php?f=46&p=3542 Wszystko działa poza elementami z tej drugiej tablicy ;/ Ten post edytował patryk9200 7.02.2009, 01:17:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 319 Pomógł: 4 Dołączył: 7.02.2009 Skąd: pless Ostrzeżenie: (0%) ![]() ![]() |
ok
A więc tak tak wygląda kod tabeli w której muszę podmienić język: CODE include "lang.php"; $panel_komisu = array ( 'Osobowe' => array ( ''.lang("osobowe").'' => array ( 'id' => 1, 'nazwa' => ''.$marka.'', 'fieldname' => 'marka_osobowe', 'pole' => 'lista_marka' , 'checked' => 'first' ), 'model_osobowe' => array ( 'id' => 2, 'nazwa' => 'Model', 'fieldname' => 'model_osobowe', 'pole' => 'lista_model' , 'checked' => 'first' ), 'wersja'=> array ( 'id' => 2, 'nazwa' => 'Wersja modelu, itp...', 'fieldname' => 'wersja', 'pole' => 'input1' , 'maxlength' => 20 ), 'stats' => array ( 'id' => 110, 'nazwa' => 'Liczba wy¶wietleń', 'fieldname' => 'stats', 'pole' => 'input1' , 'maxlength' => 7 ), 'numer' => array ( 'id' => 111, 'nazwa' => 'Numer ogłoszenia', 'pole' => 'input1' ), ), ?> Z tak wygląda kod odpowiedzialny za podmienianie danych: CODE <?php if ($_GET['lang']){ setcookie('lang', $_GET['lang'], time()+12*2592000); }; if ($_GET['lang']){ //jeśli wybrano zmianę języka, aktualizuje ciastko. setcookie('lang', $_GET['lang'], time()+12*2592000); }; function lang($zm){ if (isset($_COOKIE['lang']) && !isset($_GET['lang'])) { // sprawdzamy czy istnieje ciastko LANG i czy nie wysłano przypadkiem polecenia zmiany języka. Jeśli się zgadza to ustawiamy zmienną na zawartość ciastka. $tong = $_COOKIE['lang']; } elseif($_GET['lang']){ // jeśli zostało wysłane polecenie zmiany języka, aktualizujemy ciastko oraz ustawiamy zmienną na tą wartość. Przez to unikam konieczności odświeżania strony, po każdym kliknięciu zmiany języka $tong = $_GET['lang']; } else { //jeśli ktoś nie dokonał wcześniej wyboru języka $tong = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); }; //------------czesc II------------------ switch ($tong) { case 'pl': $tong = 0; break; case 'en': $tong = 1; break; case 'de': $tong = 2; break; case 'fr': $tong = 3; break; case 'nl': $tong = 4; break; // tu dodajemy deklaracje kolejnych wersji językowych default: $tong = 0; break; } //------------czesc III------------------ $lang = Array( //---------------------poprawność wyświetlania różnych wersji językowych--------------------------- 'jezykstrony' => array("<head><meta http-equiv='Content-Type' content='text/html; charset=windows-1250' /><meta http-equiv='Content-pl' content='pl' /></head>", "<head><meta http-equiv='Content-Type' content='text/html; charset=windows-1250' /><meta http-equiv='Content-en' content='en' /></head>", "<head><meta http-equiv='Content-Type' content='text/html; charset=windows-1250' /><meta http-equiv='Content-de' content='de' /></head>", "<head><meta http-equiv='Content-Type' content='text/html; charset=windows-1250' /><meta http-equiv='Content-fr' content='fr' /></head>", "<head><meta http-equiv='Content-Type' content='text/html; charset=windows-1250' /><meta http-equiv='Content-nl' content='nl' /></head>"), //------------------------------------------administracja------------------------------------------ "marka" => array('marka', 'mark', 'ABS', 'ABS', 'ABS'), 'tstatus' => array('Twój status:', 'Type of Account:', 'Art des Kontos:', 'Type de compte:', 'Type account:'), 'menu' => array('Menu', 'Menu', 'Menü', 'Menu', 'Menu'), ); return $lang[$zm][$tong]; }; ?> A tak wygląda kod odpowiedzialny za wyświetlanie danych na stronie: CODE <? $page = $_GET['page']; $id = $_GET['id']; $section = $_POST['section']; $action = $_POST['action']; $special = $_POST['special']; if ($page == 'add' && $action == 'save' && !$special) { foreach ($_POST as $key => $value) $$key = $value; } if (!$marka) $marka = 0; if (!$model) $model = 0; // ================================================================================ ================================================================= // ============================================================== osobowe =========================================================================== // ================================================================================ ================================================================= if ($section == 1) { if ($action == 'save') { if (!$errtext) { $errtext = CheckVerifyForm($section); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) { $errtext = CheckWarrningForm($section); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) { $errtext = CheckVerifyDaneKontatkoweForm('BezLogowania'); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) { $errtext = CheckVerifyTelefonyForm('BezLogowania'); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) { $errtext = CheckVerifyEmailForm('BezLogowania'); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) $ogloszenie -> Zapamietaj($_POST); $_SESSION['ogloszenie'] = $ogloszenie; // if ($_SESSION['panel'] -> lo && $_SESSION['panel'] -> pa && $_SESSION['panel'] -> status != 1 && !$print) // var_export ($ogloszenie); } if (($action == 'save' && $errtext) || ($action == 'create') || ($action == 'edit')) { echo '<div id="search"> <form action="?page='.$page.'&id='.$id.'" method="post"> <input type="hidden" name="section" value="'.$section.'"> <input type="hidden" name="action" value="save"> <table width="535" cellpadding=0 cellspacing=0> <tr> <td colspan="3" style="border: solid #828282; border-width: 0px 0px 2px 0px;"> <h1>Podstawowe parametry pojazdu</h1> </td> </tr> <tr> <td width="179"> <b>'; ShowPanelLabel($section, 'marka_osobowe'); echo '</b><br>'; ShowPanel($section, 'marka_osobowe', $marka_osobowe); // pokaz marke i dalszy ciąg kodu odpowiedzialnego za wyswietlanie danych: CODE echo ' </td> <td width="179"> <b>'; ShowPanelLabel($section, 'model_osobowe'); echo '</b><br>'; ShowPanel($section, 'model_osobowe', $model_osobowe); // pokaz model echo ' </td> <td width="179"> <b>'; ShowPanelLabel($section, 'wersja'); echo '</b><br>'; ShowPanel($section, 'wersja', $wersja); echo ' </td> <td> <b>'; ShowPanelLabel($section, 'a17'); echo '</b><br>'; ShowPanel($section, 'a17', $a17); echo ' </td> <td> <table cellpadding=0 cellspacing=0 width=100%><tr><td>'; ShowPanelLabel($section, 'a18'); if ($_SESSION['panel'] -> lo && $_SESSION['panel'] -> pa && $_SESSION['panel'] -> status > 1) { echo ' </td><td>'; ShowPanel($section, 'a18a', $a18a); } echo ' </td><td>'; ShowPanel_SP($section, 'a18', $a18); echo ' </td> <td>'; ShowPanel($section, 'a64', $a64); ShowPanelLabel($section, 'a64'); CODE echo ' </td> </tr> <tr> <td> <table cellpadding=0 cellspacing=0 width=100%><tr><td>'; ShowPanelLabel($section, 'a34'); if ($_SESSION['panel'] -> lo && $_SESSION['panel'] -> pa && $_SESSION['panel'] -> status > 1) { echo ' </td><td>'; ShowPanel($section, 'a34a', $a34a); } echo ' </td><td>'; ShowPanel_SP($section, 'a34', $a34); ShowPanel($section, 'a111', $a111); ShowPanelLabel($section, 'a111'); echo ' </td> <td> <table cellpadding=0 cellspacing=0 width=100%><tr><td>'; ShowPanelLabel($section, 'a72'); if ($_SESSION['panel'] -> lo && $_SESSION['panel'] -> pa && $_SESSION['panel'] -> status > 1) { echo ' </td><td>'; ShowPanel($section, 'a72a', $a72a); } echo ' </td><td>'; ShowPanel_SP($section, 'a72', $a72); <tr> <td>'; ShowPanel($section, 'a53', $a53); ShowPanelLabel($section, 'a53'); echo ' </td> <td> <table cellpadding=0 cellspacing=0 width=100%><tr><td>'; ShowPanelLabel($section, 'a15'); if ($_SESSION['panel'] -> lo && $_SESSION['panel'] -> pa && $_SESSION['panel'] -> status > 1) { echo ' </td><td>'; ShowPanel($section, 'a15a', $a15a); } echo ' </td><td>'; ShowPanel_SP($section, 'a15', $a15); echo ' </td> </tr>'; include ('addkontaktkrok2.php3'); echo '</table> </form> </div>'; } } else if ($section == 2) { if ($action == 'save') { if (!$errtext) { $errtext = CheckVerifyForm($section); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) { $errtext = CheckWarrningForm($section); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } CODE if (!$errtext) { $errtext = CheckVerifyDaneKontatkoweForm('BezLogowania'); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) { $errtext = CheckVerifyTelefonyForm('BezLogowania'); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) { $errtext = CheckVerifyEmailForm('BezLogowania'); if ($errtext) echo '<table width="535"><tr><td align="center" class="warrning">'.$errtext.'</td></tr></table>'; } if (!$errtext) $ogloszenie -> Zapamietaj($_POST); $_SESSION['ogloszenie'] = $ogloszenie; } if (($action == 'save' && $errtext) || ($action == 'create') || ($action == 'edit')) { echo '<div id="search"> <form action="?page='.$page.'&action=save&id='.$id.'" method="post"> <input type="hidden" name="section" value="'.$section.'"> <input type="hidden" name="action" value="save"> <table width="535"> <tr> <td colspan="3" style="border: solid #828282; border-width: 0px 0px 2px 0px;"> <h1>Podstawowe parametry pojazdu</h1> </td> </tr> <tr> <td width="179"> <b>'; ShowPanelLabel($section, 'markainput'); echo '</b><br>'; ShowPanel($section, 'markainput', $markainput); // pokaz marke echo ' </td> <td width="179"> <b>'; ShowPanelLabel($section, 'modelinput'); echo '</b><br>'; ShowPanel($section, 'modelinput', $modelinput); echo ' </td> <td width="179"> <b>'; ShowPanelLabel($section, 'a1'); echo '</b><br>'; ShowPanel($section, 'a1', $a1); include ('addkontaktkrok2.php3'); echo '</table> </form> </div>'; } } ?> Zadeklarowałem język strony, dodałem do kodu tablicy oraz panelu dodawania ogłoszeń: echo lang('jezykstrony'); w której mam zadeklarowane jezyki w zalezności od wybranego. Z niewiadomych przyczyn zwraca mi teraz wartość "Array" a powinno co innego. ... ;/ Ten post edytował patryk9200 7.02.2009, 09:46:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 02:47 |