Jump to content
Sign in to follow this  
bravo

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

Recommended Posts

Vakar čatā panesās tēma par to, ka netiek veidotas pamācības n'shit.

Joka pēc izveidoju primitīvu valodu swiču, 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.

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 {
	$valodas_fails = $_COOKIE[$valodas_cepums]; // 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");
}
?>

 

Laikam arī viss. 

Demo - Valodu skripts LIVE

Kā jau minēju, primitīvi.

Ceru, kādam noderēs.

 

Valodu skripts by bravo [has.lv].zip

Edited by bravo
  • Upvote 5

Share this post


Link to post
Share on other sites
4 hours ago, Kemito said:

Lūdzu neraksti to visu latviski. Paldies :D

Atceros kad man tehnikumā bija Pascal, tur arī bija jāraksta variabļi etc. latviski :facepalm::trollol:

  • Upvote 1

Share this post


Link to post
Share on other sites
2 minutes ago, ViktorsN said:

Atceros kad man tehnikumā bija Pascal, tur arī bija jāraksta variabļi etc. latviski :facepalm::trollol:

Varbūt skolotāja nesaprata angliski :kappa:

  • Upvote 3

Share this post


Link to post
Share on other sites
6 hours ago, Kemito said:

Lūdzu neraksti to visu latviski. Paldies :D

Lai saprotamāk priekš tiem, kas to iespējams izmantos. Cilvēks, kurš to māk pats, tāpat šo nelietos.

  • Upvote 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.