/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Sprogvalg - hvordan implementere det smart~
Fra : Bertel Lund Hansen


Dato : 16-07-05 08:28

Hej alle

Jeg har lavet nogle sider med nogle taldata for bridge. Man kan
nu vælge mellem dansk og engelsk som sprog, og det virker meget
godt - hvis der kun er én bruger ad gangen.

Siderne ligger her:
http://bertel.lundhansen.dk/bridge/bridgeberegning.php?page=sprog

Når man klikker på en sprogknap, overskrives filen sprogvalg.dat
og får f.eks. indholdet "English". Denne kode aflæses så ved
hvert sideskift (siderne styres af en masterfil).

Det betyder at man kan vælge engelsk, læse én side, og når man så
skifter side, er sproget pludselig dansk fordi en anden har
ændret det.

Hvordan laves det ordentligt? Hvis svaret er noget med sessions
eller cookies, må forklaringen gerne være grundig (eller
indeholde et godt link).

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

 
 
Christian Hansen (16-07-2005)
Kommentar
Fra : Christian Hansen


Dato : 16-07-05 09:24

Hej Bertel

Jeg ville umiddebart vælge at benytte en sessionvariabel eller at sende
sprogvalget med som en del af url-en.

Hvis du bruger sessionvariable, skal brugerens sprogvalg overføres enten
via get eller post i 1. omgang. Hvis brugeren ikke vælger noget sprog,
kan du sørge for at der vælges et standardsprog.

Du kan lave noget som følgende i toppen af din fil:

<?php

session_start();

//hvis sprogvalg er foretaget af brugeren skift da til valgte sprog:
if(isset($_REQUEST["sprog"]) && !empty($_REQUEST["sprog"])) {
$_SESSION["sprog"] = $_REQUEST["sprog"];
}//if

//hvis der ikke er valgt et sprog, vælges standardsprog:
if(!isset($_SESSION["sprog"]) || empty($_SESSION["sprog"])) {
$_SESSION["sprog"] = "standardsprog";
}//if

?>

Herefter har du det valgte sprog i en sessionvariabel kaldet
$_SESSION["sprog"].

Vælger du i stedet at overføre sprog via url-en, vil din sprogvariabel
findes i $_GET["variabelnavn"].

Hvis du bruger sessionvariablen som en del af sql-sætninger, bør du
tjekke den yderligere.

Hvis man bruger almindelig standardnotation for sprogangivelse ( iso 639
: http://www.w3.org/WAI/ER/IG/ert/iso639.htm ) kan man tjekke variablens
indhold med preg_match("/^[a-z]{2}[a-z]?$/",$_SESSION["sprog"]).

Mvh Christian

Bertel Lund Hansen wrote:
> Hej alle
>
> Jeg har lavet nogle sider med nogle taldata for bridge. Man kan
> nu vælge mellem dansk og engelsk som sprog, og det virker meget
> godt - hvis der kun er én bruger ad gangen.
>
> Siderne ligger her:
> http://bertel.lundhansen.dk/bridge/bridgeberegning.php?page=sprog
>
> Når man klikker på en sprogknap, overskrives filen sprogvalg.dat
> og får f.eks. indholdet "English". Denne kode aflæses så ved
> hvert sideskift (siderne styres af en masterfil).
>
> Det betyder at man kan vælge engelsk, læse én side, og når man så
> skifter side, er sproget pludselig dansk fordi en anden har
> ændret det.
>
> Hvordan laves det ordentligt? Hvis svaret er noget med sessions
> eller cookies, må forklaringen gerne være grundig (eller
> indeholde et godt link).
>

Bertel Lund Hansen (17-07-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 17-07-05 19:24

Christian Hansen skrev:

>Jeg ville umiddebart vælge at benytte en sessionvariabel eller at sende
>sprogvalget med som en del af url-en.

Tak for hjælpen. Med din hjælp var det jo ikke så svært.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Martin (16-07-2005)
Kommentar
Fra : Martin


Dato : 16-07-05 12:59

Bertel Lund Hansen wrote:
> Hej alle
>
> Jeg har lavet nogle sider med nogle taldata for bridge. Man kan
> nu vælge mellem dansk og engelsk som sprog, og det virker meget
> godt - hvis der kun er én bruger ad gangen.
>
> Siderne ligger her:
> http://bertel.lundhansen.dk/bridge/bridgeberegning.php?page=sprog
>
> Når man klikker på en sprogknap, overskrives filen sprogvalg.dat
> og får f.eks. indholdet "English". Denne kode aflæses så ved
> hvert sideskift (siderne styres af en masterfil).
>
> Det betyder at man kan vælge engelsk, læse én side, og når man så
> skifter side, er sproget pludselig dansk fordi en anden har
> ændret det.
>

Brug php's indbyggede versioner da :)
http://80.62.79.221/gettext/test.php (kun tændt i dagtimerne)
men www.php.net/gettext - Svært at få til at virke, men når det virker
så kører det KANONT! :)

Bertel Lund Hansen (16-07-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 16-07-05 16:48

Martin skrev:

>Brug php's indbyggede versioner da :)

Selve sprogskiftet fungerer fint nok, og oversættelserne er på
plads. Det er kun omskifningen der ikke er optimal.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Martin (16-07-2005)
Kommentar
Fra : Martin


Dato : 16-07-05 20:53

Bertel Lund Hansen wrote:
> Martin skrev:
>
>
>>Brug php's indbyggede versioner da :)
>
>
> Selve sprogskiftet fungerer fint nok, og oversættelserne er på
> plads. Det er kun omskifningen der ikke er optimal.

Oki - så er det nemmeste nok løsningen som Christian Hansen har skrevet,
altså med at smække en sprog variabel i en session :)

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste