Gå til innhold

Hvordan lage webside på to språk?


Anbefalte innlegg

Hei, jeg skal lage en webside hvor man må kunne bytte mellom norsk og engelsk. Det gjelder naturligvis også de fire-fem undersidene. Jeg er helt ny med php, men har forsøkt prøve meg litt frem for å finne ut hvordan include og $get fungerer, men skjønner det ikke helt.

 

 

Dette virker ikke, men er noe jeg har prøvd. er jeg på sporet av noe?:

 

 

index.php

<body>
<div id="language"> <a class="sprak" href="?spraak=nor_"> norsk </a> <a class="sprak" href="?spraak=eng_"> engelsk </a> </div>
<div id="wrapper">
 <div id="header"> 
 <?php
 $spraak = isset($_GET['spraak']) ? $_GET['spraak'] : "nor_";
 $file = "meny/".$spraak."meny".".php";
 if(is_file($file)) { include($file); }
 else { echo "siden finnes ikke"; }
?>
</div>
 <div id="content"> 
 <?php
 $page = isset($_GET['page']) ? $_GET['page'] : "hjem";
 $spraak = isset($_GET['spraak']) ? $_GET['spraak'] : "nor_";
 $file = "sider/".$spraak.$page.".php";
 if(is_file($file)) { include($file); }
 else { echo "siden finnes ikke"; }
?>
  </div>
</div>
</body>

 

eng_meny.php

<a href="?page=eng_hjem">home</a> <a href="?page=eng_cv"> cv </a>

 

 

trenger litt hjelp til forstå...

Endret av Snobjorn
Lenke til kommentar
Videoannonse
Annonse

Hei,

 

Det finnes mange måte å gjøre det på, du kan også hente det fra db men her viser jeg en måte det går ann å gjøre det på.

 

Fil: index.php

<?php
session_start();

// Velg språk hvis den er valgt, hvsi ikke velg "NORSK"
if(isset($_SESSION['current_lang'])) include('lang/' . $_SESSION['current_lang'] . '.php');
else include('lang/no.php');
?>
<h1><?php echo $lang['title']; ?></h1>
<br>
Velg språk:<br>
<a href="set_language.php?lang=no">Norsk</a> <br>
<a href="set_language.php?lang=en">English</a><br>

 

Fil: set_language.php

<?php
session_start();

$lang = $_GET['lang'];

if(file_exists('lang/' . $lang . '.php')){
	$_SESSION['current_lang'] = $lang;
}

header('Location: index.php');
?>

 

Fil: lang/no.php

<?php
$lang			= array();
$lang['title'] 	= "Titel på norsk";
$lang['msg']	= "Melding";
?>

 

Fil: lang/en.php

<?php
$lang			= array();
$lang['title'] 	= "Title in english";
$lang['msg']	= "Message";
?>

 

Jeg har ikke testet det men regner med at den skal fungere. Jeg har ikke tenkt noe sikkerhet så ha de i baktanke når du implementerer det. Det er bare en eks.

 

Lurer du på noe spør i vei

Lenke til kommentar
  • 3 uker senere...
om du bruker session er det mye enklere, og du kan ha <?php echo $lang[home]; ?> og få den til å bli hva du vil..

 

Kan du forklare litt nærmere hva du mener?

 

 

Samme variabel i fler filer:

 

<?php
 $lang			= array();
 $lang['title']	 = "Titel på norsk";
 $lang['msg']	= "Melding";
?>

<?php
 $lang			= array();
 $lang['title']	 = "Title in english";
 $lang['msg']	= "Message";
?>

Endret av PS_CS4
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...