Avatar billede brianlvb Nybegynder
22. april 2007 - 10:17 Der er 5 kommentarer og
1 løsning

Skift sprog på hjemmeside?

Hej,
Jeg har lavet en hjemmeside hvor jeg gerne vil inkludere en funktion der gør at man ved at trykke på et engelsk flag kan ændre alt teksten til engelsk.

Nogen der ved hvordan man gør det?

På Forhånd tak.

Mvh Brian
Avatar billede hmortensen Nybegynder
22. april 2007 - 10:35 #1
Du kan smide valget i en session, og så afhængig af hvad der er valgt, inkludere den pågældende sprogfil, som kan designes sådan her:

dk.inc.php
<?php
$ln = array();
$ln['Home'] = "Hjem";
$ln['HomeText'] = "Dette er forsiden.";
?>

en-inc.php
<?php
$ln = array();
$ln['Home'] = "Home";
$ln['HomeText'] = "This is the frontpage.";
?>

Så sætter du blot $ln['X'] der hvor der skal udskrives noget tekst.
Avatar billede jakobdo Ekspert
22. april 2007 - 11:50 #2
Du kan også kigge i denne tråd: http://www.eksperten.dk/spm/772628
Avatar billede brianlvb Nybegynder
22. april 2007 - 16:17 #3
Tak for svaret. Du må meget gerne vise et lille eksempel, da jeg er ret grøn på området.  Eksempelvis et lille script med to links/knapper, hvor alt efter hvilken man vælger/trykker på, henter en tekst fra et givet array og skriver den ud.

Indtil videre kan jeg forstå noget med at: hvis man ikke gør noget skal den som udgangspunkt vælge de danske tekster. Er det på den følgende måde?

<?php
session_start();
if (empty($_SESSION['dansk.php']))
?>

Hvis man så giver den et input, fx et tryk på engelsk knappen/linket, hvordan får man den så til at benytte de engelske tekster?

Når den har valgt hvilket sprog den skal indsætte hvordan skriver man det så ind i html koden? Er det sådan her?

<html>
    <body>
    <p> $ln['velkomsttekst'] </p>
    </body>
</html>
Avatar billede nyhuus Nybegynder
23. april 2007 - 09:01 #4
Jeg har fatisk lige lavet et sprog system her i sidste uge jeg gør det på følgene måde

index.php
[code]
<?php
if (isset($_SESSION['lang']))
{
  include("pages/lang-".$_SESSION['lang'].".php");
  $img = $_SESSION['lang'];
}
else
{
  include("pages/lang-dk.php");
  $img = "dk";
}

function langImg()
{
  if (isset($_SESSION['lang']))
  {
    if($_SESSION['lang'] == dk) { $lang = "de"; }
    elseif($_SESSION['lang'] == de) { $lang = "dk"; }
    return "<a href=\"?cms=lang&lang=".$lang."\"><img border=\"0\" src=\"images/".$lang.".gif\"></a>";
  }
  else
  {
    return "<a href=\"?cms=lang&lang=de\"><img border=\"0\" src=\"images/de.gif\"></a>";
  }
}

elseif($_GET['cms'] == "lang")
                        {
                            $_SESSION['lang'] = $_GET['lang'];
                            echo "<script>document.location = \"?cms\";</script>";
                        }
?>

<?php echo "<div align=\"center\">".langImg()."  <a href=\"\">".$lang[1]."</a> - <a href=\"?cms=attraktioner\">".$lang[2]."</a> - <a href=\"?cms=contact\">".$lang[3]."</a></div>"; ?>
[/code]

pages/lang-dk.php
[code]
<?php

$lang[1] = "Vælg Hus";
$lang[2] = "Attraktioner";
$lang[3] = "Kontakt";
$lang[4] = "Hus";

?>
[/code]

pages/lang-de.php
[code]
<?php

$lang[1] = "Haus wählen";
$lang[2] = "Attraktionen";
$lang[3] = "Kontakt";
$lang[4] = "Haus";

?>
[/code]

håber du lære lidt af det :)
Avatar billede nyhuus Nybegynder
23. april 2007 - 09:02 #5
btw jeg glemte lige noget helt i toppen under <?php

og det er meget vigtig for ellers vil sessions ik virke

på linien mellem

<?php

og

if (isset($_SESSION['lang']))


skal der være session_start();
så det vil se sådan her ud

<?php
session_start();
if (isset($_SESSION['lang']))
Avatar billede nyhuus Nybegynder
23. april 2007 - 09:05 #6
Poster lige scriptet som det skal være så er det nemmere at over skue :)


index.php
[code]
<?php
session_start();
if (isset($_SESSION['lang']))
{
  include("pages/lang-".$_SESSION['lang'].".php");
  $img = $_SESSION['lang'];
}
else
{
  include("pages/lang-dk.php");
  $img = "dk";
}

function langImg()
{
  if (isset($_SESSION['lang']))
  {
    if($_SESSION['lang'] == dk) { $lang = "de"; }
    elseif($_SESSION['lang'] == de) { $lang = "dk"; }
    return "<a href=\"?cms=lang&lang=".$lang."\"><img border=\"0\" src=\"images/".$lang.".gif\"></a>";
  }
  else
  {
    return "<a href=\"?cms=lang&lang=de\"><img border=\"0\" src=\"images/de.gif\"></a>";
  }
}

if($_GET['cms'] == "lang")
                        {
                            $_SESSION['lang'] = $_GET['lang'];
                            echo "<script>document.location = \"?cms\";</script>";
                        }
?>

<?php echo "<div align=\"center\">".langImg()."  <a href=\"\">".$lang[1]."</a> - <a href=\"?cms=attraktioner\">".$lang[2]."</a> - <a href=\"?cms=contact\">".$lang[3]."</a></div>"; ?>
[/code]
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