Gå til innhold

[Løst]PHP - Multi språk med $Session


Anbefalte innlegg

Hei!

Driver med en basic nettside og fant ut at jeg vil ha støtte for engelsk + norsk språk. Så isteden for å kode alle filene om igjen vil jeg bruke multi språk. Altså ha to språkfiler som inneholder alle verdiene :)

Jeg skal bruke $Session.

 

Hvordan jeg har tenkt:

En fil som sjekker om det finnes en $Session med en verdi som er lagret som cookie.

Hvis ikke så lager den en $Session med den verdien brukeren har valgt.

Så henter den filen som brukeren har valgt med include once.

 

Noens om har tid til å sette opp scriptet for meg?

 

PS: I språk filene har jeg tenkt til å gjøre slik:

define(NAVN, 'Hei mitt navn er ColdIce');

Lenke til kommentar
Videoannonse
Annonse

./lang/no.php

<?php

$lang = array( 'nøkkel'	=> 'Tekst',

);

 

./lang/en.php

<?php

$lang = array( 'nøkkel'	=> 'Text',

);

 

function load_language()
{
if ( ! $_COOKIE['lang'] )
{
	$lang = "no";
	@setcookie( 'lang', $lang );
}
else
{
	$lang = filter_var( $_COOKIE['lang'] );
}

// Sånn i tilfelle fila ikke eksisterer
if( ! file_exists( "./lang/{$lang}.php" ) )
{
	$lang = "no";
}

include "./lang/{$lang}.php";

return $lang;
}

function set_language()
{
$lang = filter_var( $_GET['lang'] );

if( file_exists( "./lang/{$lang}.php" ) )
{
	@setcookie( 'lang', $lang );
}

return;
}

$lang = load_language();

echo $lang['nøkkel'];

echo "<a href='?lang=en'>Engelsk</a>";

 

Skrevet på frihånd, ikke testet. Språknøklene må være lik i alle språk.

Lenke til kommentar

Takk for et godt svar M4rtin!

 

Skrevet på frihånd, ikke testet. Språknøklene må være lik i alle språk.

Det betyr at jeg ikke kan gjøre slik:

 

./lang/no.php

<?php
$lang = array( 'nøkkel'	=> 'Tekst',
$lang = array( 'nøkkel2'	=> 'Tekst2',
);
?>

 

Og siste koden du ga meg. Den skal være i index.php? :)

 

EDIT:

Fungerer ikke om du skal bytte til engelsk språk "/

Endret av Gjest
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...