Det er smartest at lave 2 systemer, for hvis du på sigt regner med at det bliver en succes i to forskellige lande får du formentlig behov for at de ting det ene land ser kan være ting der ikke har interesse i det andet land. Hvis du er helt sikker på at indholdet altid skal være ens, og at du altid har mulighed for at oversætte til alle sprog hver gang du ændrer, kan du holde det i et system.
Du kan få en nyttig funktion jeg selv lavede til samme formål i sidste uge. Du kalder fx. getLanguage("sti/til/sprogfiler", "da"), hvor du så har en fil liggende i den mappe der hedder "da" - ikke "da.txt", bare "da", du kan selvf ændre parseLanguageFile, så den åbner "da.txt" i stedet hvis du synes. I denne "da"-fil ser således ud:
titel: Min titel konto: Min konto log_in: Log ind
beskrivelse: På denne side ser du: blabla lala: whatever
Funktionerne er her, de returnerer et array hvor det før det først kolon som key og det efter som linjeskift. Den henter først den engelske tekst "en" og derefter overskriver den med det valgte sprog, sådan at hvis det valgte ikke er komplet, vil det engelske tekst kommer hvor der mangler. <? function parseLanguageFile($dir, $lang) { preg_match_all("#^\s*([^\s:]+)\s*:\s*(.+?)\s*$#m", @file_get_contents($dir.$lang), $matches); return $matches[0] ? array_combine($matches[1], $matches[2]) : array(); } function getLanguage($dir, $lang) { return $lang == "en" ? parseLanguageFile($dir, "en") : array_merge(parseLanguageFile($dir, "en"), parseLanguageFile($dir, $lang)); // fallback to english } ?>
I din database skal du også have en række for hvert sprog, og hvis du er sikker på du aldrig skal have mere end dansk og engelsk kan du nøjes med een række og så bare have felter for både hhv dansk og hhv engelsk.
Den ene side jeg har lavet med mulighed for at skifte sprog, brugte jeg en tabel til hvert sprog ( mysql ) For at skifte sprog skal/skulle browseren acceptere en cookie.
D.v.s. ved hver request tjekkes om en cookie er sat, ( og findes i "langarray" ) hvor default så vælges hvis cookie ikke findes.
Men umiddelbart så er jeg egentlig til at lave et dir for hvert lang, for på den måde at gi' mulighed for at "videre - sende" et link til lige netop den side. Det betyder så url's som domain.dk/da og domain.dk/eng m.m. hvor der så ligger en korrekt sprogfil for hvert "lang" dir.
Har tænkt lidt over det. Prøver i første omgang at lave det i to systemer med to databaser, hvor jeg kalder tabellerne det samme. Således forbinder jeg mig bare til den database der tilhører det valgte sprog ud fra en funktion.
Synes dog du fortjener pointene for gode svar tmi.
Kig evt. på Typo3 der er rimelig god mulighed for flere sprog.
Synes godt om
Ny brugerNybegynder
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.