Gjest Skrevet 8. mai 2009 Del Skrevet 8. mai 2009 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
itsmebth Skrevet 8. mai 2009 Del Skrevet 8. mai 2009 Du kan se på http://framework.zend.com/manual/en/zend.locale.html Lenke til kommentar
Gjest Skrevet 8. mai 2009 Del Skrevet 8. mai 2009 Tenkte på noe enkelt. Ikke template engine Ser avansert ut? Lenke til kommentar
Martin A. Skrevet 9. mai 2009 Del Skrevet 9. mai 2009 ./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
Gjest Skrevet 9. mai 2009 Del Skrevet 9. mai 2009 (endret) 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 9. mai 2009 av Gjest Lenke til kommentar
Edorph Skrevet 9. mai 2009 Del Skrevet 9. mai 2009 Ikke akkurat sånn nei, m4rtin mente slik: ./lang/no.php <?php $lang = array( 'nøkkel' => 'tekst', 'nøkkel2' => 'tekst2' ); ?> Lenke til kommentar
Gjest Skrevet 9. mai 2009 Del Skrevet 9. mai 2009 Takk for svar Edorph. Men det M4rtin skrev fungerer ikke set_language() Blir jo heller ikke kjørt. Lenke til kommentar
Edorph Skrevet 9. mai 2009 Del Skrevet 9. mai 2009 Det er sant. Du får slenge inn et kall til den på en linje over $lang = load_language() eller noe. Lenke til kommentar
Martin A. Skrevet 9. mai 2009 Del Skrevet 9. mai 2009 if ( isset( $_GET['lang'] ) AND !empty( $_GET['lang'] ) ) { set_language(); } Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå