Jump to content
php.lv forumi

valoda izvele


Undeaded

Recommended Posts

Visiem sveiks!

Man te ir mazinjs jautajums. Kapec man uzreiz kad spiedu mainit pogu valodu - uzreiz nemainas valoda, bet tikaj ja es spiedisu otru reizi uz pogu - tad sajt radis citu valodu. Es ka saprotu mans skript tais cookies, bet šie cookies bus speka tikaj kad es parladešu otru reizi sajtu.

 

Man vajaga laj skript uzreiz taisija sajta header - izveleto valodu, bet ne pec otras sajta ielades. Paldies.

Edited by Undeaded
Link to comment
Share on other sites

Pārraksti savu kodu uz sekojošu un vajadzētu strādāt:

 

<?php

if (!$_COOKIE["mufilebase_lang"] || $_REQUEST['set_lang']) {
if ($_REQUEST['set_lang']) {
	if($_REQUEST['set_lang'] == "lv" OR $_REQUEST['set_lang'] == "en" OR $_REQUEST['set_lang'] == "ru"){
		$_LANG = $_REQUEST['set_lang'];
	} else {
		$_LANG = "ru";
	}
} else {
	$_LANG = "ru";
}
	setcookie("mufilebase_lang",$_LANG);
} else {
$_LANG = $_COOKIE["mufilebase_lang"];
}

switch($_LANG){
case 'en':
include("lang/en.php");
break;
case 'lv':
include("lang/lv.php");
break;
case 'ru':
include("lang/ru.php");
break;
default:
include("lang/ru.php");
break;
}

?>

<a href="<?php echo $_SERVER['PHP_SELF']; ?>?set_lang=ru">ru</a>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?set_lang=lv">lv</a>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?set_lang=en">en</a>

Edited by Java
Link to comment
Share on other sites

es ieteiktu papildināt Java rakstīto ar:

...
if($_REQUEST['set_lang']){
if($_REQUEST['set_lang'] == "lv" OR $_REQUEST['set_lang'] == "en" OR $_REQUEST['set_lang'] == "ru"){
setcookie("mufilebase_lang",$_REQUEST['set_lang']);
 $valoda = $_REQUEST['set_lang'];
}
}
else {
$valoda = $_COOKIE['mufilebase_lang'];
}

switch($valoda){
...

[edit] Ā, Java jau pats papildināja :)

Edited by Aleksejs
Link to comment
Share on other sites

Man te vel viena kļuda paradas ar jauno skriptu. Skript strada ja ir viena lapaspuse piemeram index.php ja es iešu uz citu lapaspusi news.php tad valoda mainas uz galveno, bet neatstajas kura bija izveleta :(

 

Pat ja index.php mainas - valoda mainas uz galveno, bet nepaliek kura bija izveleta. Piemera index.php iespiedu pogu - english valodu - viss ok, kad spiedu pogu piemeram Jaunumi (index.php?op=news) - valoda mainas uz galveno (latviešu), bet es izvelejos english valodu.

Edited by Undeaded
Link to comment
Share on other sites

Iesaku tev vēl kodu optimizēt, piemēram, sākumā ielikt:

define('LANGUAGE_DEFAULT', 'ru');

Un tad visur, kur vajag ielikt defaulto valodu, izmantot konstanti LANGUAGE_DEFAULT, savukārt pēc mana koda, Switch vietā vienkārši vari ievietot:

if ($_LANG) {
@include("lang/".$_LANG.".php");
}

Link to comment
Share on other sites

×
×
  • Create New...