Avatar billede rynke10 Novice
13. juni 2005 - 08:03 Der er 12 kommentarer og
1 løsning

Flere sprog på siden, skift af sprog

Jeg laver en side som skal have forskellige sprog. Jeg forestiller mig et par flag, som man kan skifte sproget på.
Men hvordan gør jeg det lettest for mig selv, rent overordnet.
Jeg har en mappe med Dansk, en med Engelsk o.s.v. Klikker jeg engelsk sprog, kunne jeg sagtens springe til Index i engelskmappen, men vil jo helst at jeg bliver på den samme side og ikke starter forfra.
Avatar billede screem_brille Novice
13. juni 2005 - 08:14 #1
det er nødvendigat at den starter forfra, det kan ikke laves på andre måder.
Avatar billede krydset Nybegynder
13. juni 2005 - 08:15 #2
Includer en sprog fil

i sprogfilen kan du eks. bruge define funktion..

Sprogfil_dk.php

<?php
define("TITEL", "Min hjemmeside");
define("MENU_1", "Menu_1");
?>

Index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<?php include("sprogfil_dk.php"); ?>
<title><?php echo TITEL; >?</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php echo MENU_1; ?>
</body>
</html>
Avatar billede teh1337 Nybegynder
13. juni 2005 - 08:15 #3
med session-variabel
side_der_skal_vise_sprog.php:
<? include(check.php);
if($_SESSION[sprog]=="dk")
{
echo "sproget er dansk";
}
if($_SESSION[sprog]=="eng")
{
echo "sproget er engelsk";
}
<form action="$_SERVER[PHP_SELF]" method="post">
<input type="text" value="dk" name="sprog"/>
<input type="submit" value="dansk" name="sub">
</form>
<form action="$_SERVER[PHP_SELF]" method="post">
<input type="text" value="eng" name="sprog"/>
<input type="submit" value="engelsk" name="sub">
</form>
?>

check.php:
<?
if($_POST[sub])
$_SESSION = $_POST[sprog];
?>

du kan også bruge variabler i adressenlinjen til at tjekke sprog ud fra
Avatar billede krydset Nybegynder
13. juni 2005 - 08:15 #4
Og ja du skal reloade siden for at lave sproget om på din side
Avatar billede rynke10 Novice
13. juni 2005 - 08:37 #5
Jeg bruger i forvejen include til større tekster. Det er bare ikke så fedt at skulle lave alle tekster til variabler, i f.x. links, beskrivelser, titler o.s.v..
Hvis jeg nu har en ENG mappe og en DAN mappe, kan jeg så ikke sætte et id for siden og så bare skifte til samme side i en anden sprogmappe?
Avatar billede venchil Nybegynder
13. juni 2005 - 10:10 #6
Du kunne jo bruge include. http://dinside.dk/design.php?sprog=dansk

<?php

$sprog = $_GET[sprog];

if ($sprog = "dansk") {
include("danskside.html");
}
elseif($sprog = "english") {[
include("englishpage.html");
}
else {
echo "Hvilket sprog vil du se siden i?";
echo "<a href='design.php?sprog=dansk'>Dansk</a>";
echo "<a href='design.php?sprog=english'>English</a>";
}

?>
Avatar billede rynke10 Novice
13. juni 2005 - 11:03 #7
Venchil-> tror du er inde på noget af det jeg ønsker. Jeg vil stadig have en side for hvert sprog.
Min tanke gik lidt i retning id. Hver side har et id, sider på dansk hedder 1, 2, 3 o.s.v. Sider på engelsk hedder så 11, 12, 13. evt på tysk 21, 22, 23. Så kan jeg holde styr på hvilken side jeg er på og springe direkte til den samme side, bare med et andet sprog. Altså uanset hvilken side jeg befinder mig på, kan jeg skifte sproget, uden at skulle navigere mig tilbage til siden.

Har lige set på HTH.dk, man kan vælge sprog og de gør det med et javascript. Men skifter man sproget andre steder end hovedsiden, springer den tilbage til forsiden. Det var det jeg ville undgå.
Avatar billede stefmeister Nybegynder
13. juni 2005 - 12:40 #8
rynke10 -> som du selv skriver, så ville det letteste være hvis hver side havde et id, så hvis du f.eks. er på side 3 i den danske... så når du trykker på flaget, så springer du til side 3 i den engelske/franske/tyske/what ever.. ellers kan du ikke skifte sprog uden at skifte til forsiden igen...
Avatar billede screem_brille Novice
23. juni 2005 - 02:02 #9
kan man forvente noget feedback ?
Avatar billede rynke10 Novice
23. juni 2005 - 17:17 #10
Der kommer ikke mails fra Eksperten, derfor har jeg været inde og se med 2-3 dages mellemrum. Jeg skal have et svar for at kunne lukke spørgsmålet, der er kun 1. Det uddyber ikke noget som helst og er forkert.
venchil hjalp mig i den rigtige retning, så jeg håber på et svar. Vil ikke tage point selv, bare for at lukke et spørgsmål.
Min løsning bliver noget i retning af, at hver side har et id 1-2-3 o.s.v. Er jeg på f.x. side 8 (Dansk) og vil skifte til engelsk, så lægger jeg 100 til id. Så bliver min side 108 og den svarer til side 8 på dansk. 200 for tysk o.s.v.
Avatar billede screem_brille Novice
29. juli 2005 - 00:47 #11
noget feedback ?
Avatar billede rynke10 Novice
19. august 2006 - 17:17 #12
Den er vist gammel nok nu ;-)
Avatar billede showsource Seniormester
13. februar 2008 - 04:58 #13
Lidt gammelt spm. men faldt over denne da jeg søgte på noget sprog halløj.

Hvis du har et dir for hvert sprog, og du gerne se samme side på et andet sprog,

host.dk/da/news.php --> host.dk/en/news.php

kan du bruge
basename($_SERVER["REQUEST_URI"])
til at finde ud af hvilken fil der vises, og på den måde lave en redirect
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