Jump to content
Sign in to follow this  
bravo

[PHP] Primitīva saita valodas izvēlēšanās iespēja

Recommended Posts

Primitīvs valodas switch, noderēs iesācējiem, vienkāršām lapām.

Protams, ka to visu var izdarīt savādāk / labāk, tomēr šis ir pavisam primitīvs variants, lai iesācējiem būtu vieglāk saprast, kas ir kas.

Gatavu failu lejupielāde posta apakšā.

Pamācība:

Izveido failu valoda.php ar sekojošu saturu:

<?php
	$valodas_cepums = 'valoda'; // Definējam valodas cookie nosaukumu.
if(!isset($_COOKIE[$valodas_cepums])) { // Pārbaudam vai eksistē valodas cookie, ja neeksistē, tad pievienojam defaulto un definējam defaulto valodas failu, kurš tiks izmantots kamēr lapa tiks pārlādēta.
	// Valodas cookie ievietošanas sākums.
	$cepuma_nosaukums = 'valoda';
	$cepuma_info = 'lv'; // Cepuma info jābūt vienādam ar valodas faila nosaukumu (bez ".php").
	setcookie($cepuma_nosaukums, $cepuma_info, time() + (86400 * 30), '/'); // 86400 (1 diena) * 30 = 30 dienas.
	// Valodas cookie ievietošanas beigas
	$valodas_fails = "lv"; // Definējam defaultās valodas faila nosaukumu, kamēr lapa nav refrešota un tikko ievietotais cookie vēl nav nolasāms valoda.
} else {
  	$esoshais = $_COOKIE[$valodas_cepums];
  	// Šī super mega drošība neatbalsta garumzīmes un mīkstinājuma zīmes
  	function super_droshiba($esoshais) {
   	$esoshais = str_replace(' ', '', $esoshais); // likvidē atstarpes.
	return preg_replace('/[^A-Za-z0-9\-]/', '', $esoshais); // likvidē speciālos simbolus.
	}
	$valodas_fails = super_droshiba($esoshais); // Definējam valodas faila nosaukumu, balstoties uz cookie informāciju.

}
	define('valodu_mape', realpath(dirname(__FILE__)));
	$valoda = valodu_mape . '/valodas/' . $valodas_fails . '.php'; // definējam valodas faila atrašanās vietu
require $valoda; // Ielādējam izvēlētās valodas failu.

?>

2) Ievieto valoda.php failu sava .php faila sākumā:

<?php
require "valoda.php";
?>

3) Izveido mapi "valodas".

4) Izveido valodu failus, iesaku veidot pēc "lv.php", "ru.php", "en.php" principa.

5) Izveidotajos valodas failos ievieto sekojošo kodu, un papildini to ar sev nepieciešajām frāzēm, vārdiem, dzejoļiem utt.

<?php
$teksts=array(
// "frāzes definīcija"=>"frāzes tulkojums konkrētajā valodā"
"nosaukums"=>"Language tutorial",
"valoda1"=>"Latvian",
"valoda2"=>"English",
"izvelies_valodu"=>"Select language",
"šobrīd"=>"You selected English language"
);
?>

6) Failā, kurā vēlies lietot valodas tulkojumus izmanto <?php echo $teksts['Tavas frāzes definīcija'] ?> , lai izvadītu sev nepieciešamos (pirmstam pievienotos) vārdus.

7) Elementārs valodas pārslēdzējs, kuru vari ievietot seā lapā, sev vajadzīgajā vietā.

  <form method="post">    
    <select name="lang" onchange="this.form.submit()">
            <option><?php echo $teksts['izvelies_valodu'] ?></option>
            <option value="lv"><?php echo $teksts['valoda1'] ?></option>
            <option value="en"><?php echo $teksts['valoda2'] ?></option>
			<!-- <option value="Cookie nosaukums, kurš ir vienāds ar valodas faila nosaukumu">Valodas nosaukums</option>  -->
        </select>
    </form>
<?php
if(isset($_POST['lang'])){
setcookie($valodas_cepums, $_POST['lang'], time() + (86400 * 30), '/'); // 86400 (1 diena) * 30 = 30 dienas.
header("Refresh:0");
}
?>

Valodu skripts by bravo [wam.lv].zip

 

Edited by bravo
  • Upvote 3
  • Downvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×