Avatar billede weblance Nybegynder
03. august 2007 - 20:55 Der er 8 kommentarer og
1 løsning

Hvad er den bedste måde til at lave en flersproget hjemmeside?

Jeg ønsker at lave min hjemmeside på dansk, engelsk og tysk, men er meget usikker på hvordan det skal gøres. Jeg har tænk på to metoder:

1. Lave tre kopier af samme hjemmeside bare på de tre forskellige sprog.

2. Lave ét grundsnit, lægge tekst i sprogfiler og vha. cookies bestemme sproget, nogenlunde sådan:

<a href="index.php?lang=dansk">Vælg dansk</a>

og i index.php:

<?
$setlang = $_GET['lang'];
setcookie("hjemmeside", $setlang, time()+36000);

$sprog = $_COOKIE('hjemmeside');
require($sprog . ".php");
?>

Definere teksten i sprogfilen:

<? define('TEKSTEN', 'Min tekst her'); ?>

og hente den sådan:

<? echo TEKSTEN; ?>

Kan metode 2 overhoved lade sig gøre eller er nr. 1 bedre? Der findes måske en endnu bedre måde at gøre det på?

Jeg kan se fordelen i nr. 2 da noget af indholdet er det samme på alle sprog, og dette indhold opdateres regelmæssigt. Så i steder for at opdatere 3 sider hver gang (som der skal i nr. 1) skal der kun redigere én side og så lave en include().

/Carl
Avatar billede w13 Novice
03. august 2007 - 21:30 #1
Nu regner jeg ikke med at få point for dette svar, men ville bare lige tilkendegive, at jeg klart stemmer for nr. 2, og at det sagtens kan lade sig gøre.
Avatar billede weblance Nybegynder
03. august 2007 - 22:06 #2
Jamen det er jeg da glad for at høre. Jeg er bare nervøs for at google ikke kan finde ud af at der faktisk eksisterer 3 hjemmesider på 3 sprog, men kun vælger at indeksere det ene af sprogene...
Avatar billede w13 Novice
03. august 2007 - 22:12 #3
Rigtig godt spørgsmål. Hvis du bruger sessions i stedet eller sammen med cookies, skulle den være i orden.
Avatar billede weblance Nybegynder
03. august 2007 - 23:02 #4
Gider du uddybe det med sessions lidt - mit php er meget på newbie niveau endnu... :)
Avatar billede w13 Novice
03. august 2007 - 23:07 #5
Nu bruger jeg ASP, men det er vist samme princip med sessions.

Sessions huskes over lang tid og over flere sider. Hvis du nu lader sessions bestemme, hvilket sprog, man har valgt, og samtidig bruger cookies til at huske det til næste gang, skulle du være dækket ind.

Sessioneksempel i ASP:

Session("sprog")="da"

If Session("sprog")="da" Then
  Response.Write "Hej"
Else
  Response.Write "Hello"
End If
Avatar billede kennedk Nybegynder
05. august 2007 - 15:56 #6
Du kunne lave en fil med sprog som du sagde, og så kan du bruge functionen define
og i den dansk.php, der kan du så skrive

define("MsgHej", "Hej");

og i den engelsk.php

define("MsgHej", "Hello");

og så echo MsgHej;
så kommer det an på hvilken fil der inkluderet, hvad den udskriver..
Men hvis du fx skal skrive en nyhed, så skal du lave 2 felter i databasen, en med dansk og en med engelsk
Avatar billede weblance Nybegynder
07. marts 2008 - 21:54 #7
Send venligst et svar kennedk så jeg kan lukke tråden!
Avatar billede weblance Nybegynder
15. november 2008 - 11:38 #8
kennedk - send venligst et svar så jeg kan lukke tråden.
Avatar billede weblance Nybegynder
16. januar 2010 - 20:33 #9
Lukker
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
Alle kurser indenfor Microsoft 365 – både til begyndere og øvede.

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