Avatar billede nikolajdu Nybegynder
26. oktober 2004 - 23:23 Der er 17 kommentarer og
1 løsning

Sprogstyring - min titel er ikke beskrivende

Hvad er en god indgangsvinkel til sprogstyring af mine forskellige sider. Jeg kan nemt sprogstyre content, men hvordan gør jeg det med det "faste inventar".

Det er udelukket at lave en side for hver sprog - det må kunne gøres database whise - Hvis det altså er klogt. Eller skal jeg "bare" definere 120+ variabler og så bruge dem?

/Nikolaj
Avatar billede sukos Juniormester
26. oktober 2004 - 23:47 #1
Brug nu den DB! :O) (min dreng! :O] )
Avatar billede Slettet bruger
27. oktober 2004 - 00:00 #2
Du kunne lave det i en DB og så trække indholdet ud første gang siden besøges, og derefter have den med som et array gemt i en session.
Avatar billede nikolajdu Nybegynder
27. oktober 2004 - 00:35 #3
Ok kommasepareret streng oder was?

Hvordann bygger jeg det lige smartest op? :))
Avatar billede nikolajdu Nybegynder
27. oktober 2004 - 01:26 #4
eller mener du/i : $_SESSION["language42"][10] / $_SESSION["language42"]["tekst1"]
Avatar billede sukos Juniormester
27. oktober 2004 - 07:36 #5
Jeg forstår faktisk ikke rigtigt spm.
"Fast inventar" er det billeder o.lign.? Som ikke er det samme, alt efter sprog?
Avatar billede nikolajdu Nybegynder
27. oktober 2004 - 12:21 #6
Nej det er alle de ting på siden som går igen på alle sider, men som skal kunne skiftes ud. Altså ikke hver sides tekst, men f.eks nu.
Avatar billede nikolajdu Nybegynder
27. oktober 2004 - 12:21 #7
menu var det sidste
Avatar billede hmortensen Nybegynder
27. oktober 2004 - 12:25 #8
Så kan du kalde dine menu filer for:
[language-identifier]_menu.php

og så inkludere dem:
include($_SESSION['language']."_menu.php");
Avatar billede nikolajdu Nybegynder
27. oktober 2004 - 12:33 #9
Det er jo det jeg gerne vil undgå for så skal jeg til at lave xxx antal filer for hvert sprog. Databaseløsningen er ok og det virker faktisk nogenlunde med :

function getDbLanguage(){
    $sql =    mysql_query("SELECT site_text_id,site_text_name, ".getLanguageTable("site_text")." FROM site_text")or die(mysql_error());
    if($sql){
        while($r = mysql_fetch_array($sql)){
            $_SESSION["lang"][$r["site_text_name"]] = $r[getLanguageTable("site_text")];
        }
    }
}

og

function language ($s){
    return $_SESSION["lang42"][$s];
}

language ("ok_knap");

Jeg er bare mest i tvivl om det er best på den her måde?
Avatar billede nikolajdu Nybegynder
27. oktober 2004 - 12:54 #10
Og så har jeg lidt problemer med at få fjernet sproget første gang.

    $_SESSION["lang"] = array();
    for($i = 0 ; $i < sizeof($_SESSION["lang"]); $i++){
        unset($_SESSION["lang"][$i]);
    }
    unset($_SESSION["lang"]);
header("location:blabla.php");
Avatar billede sukos Juniormester
27. oktober 2004 - 12:56 #11
Det skulle være nok blot at bruge
unset($_SESSION["lang"]);

altså uden for-løkke
Avatar billede nikolajdu Nybegynder
27. oktober 2004 - 13:11 #12
Jeg ser bare ikke ud til at virke.
Avatar billede nikolajdu Nybegynder
27. oktober 2004 - 13:13 #13
lol...

DET ser ikke...
Avatar billede nikolajdu Nybegynder
28. oktober 2004 - 21:21 #14
Smid et svar drenge jeg har fået det til at dutte
Avatar billede sukos Juniormester
30. oktober 2004 - 17:44 #15
Af hva' har du fået til at dutte?
Selv vil jeg jo lave en table til hvert sprog, og på hver side tjekke for en cookie, og hvis den cookie ikke findes, så er "dk" default

SELECT FROM `". $lang ."_forside`


....................
Avatar billede nikolajdu Nybegynder
05. november 2004 - 12:46 #16
smid nu bare et svar - det virker fint.
Avatar billede Slettet bruger
05. november 2004 - 15:45 #17
oki :)
Avatar billede nikolajdu Nybegynder
07. november 2004 - 21:36 #18
godt så :))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester