login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Talen Switchen

Offline sarkye - 09/03/2007 16:07 (laatste wijziging 06/04/2007 11:07)
Avatar van sarkyeNieuw lid Ik heb een site met 3 talen nou wil ik als je switch tussen de talen dat je wel op de zelfde pagina blijft. bijv:

www.sitenaam.nl/NL/index.php
www.sitenaam.nl/DE/index.php

maar het staat in een flash file en ik wil niet voor elke pagina een nieuwe flash file gebruiken, nou vraag ik me af is het mogelijk dat hij alleen de map naam veranderd zoals je bijvoorbeeld kunt zien.

3 antwoorden

Gesponsorde links
Offline JBke - 09/03/2007 17:44 (laatste wijziging 09/03/2007 17:45)
Avatar van JBke PHP gevorderde waarom met meerdere mappen werken??
Nu ga je per taal een andere map maken??
Werk gewoon met verschillende taalbestanden in 1 map bvb NL.inc.php, EN.inc.php waar je gewoon alle tekst op je site in variabelen zet.
bvb.: in NL.inc.php: $lang=("Dit is nederlands");
$footer=("Einde van de site");
en in in EN.inc.php: $lang=("This is English");
$footer=("End of site");

en deze variabelen verwerk je in je site he.

Wil je toch echt werken met aparte mappen per taal kan je het volgens mij simpel oplossen door de mapnaam te vervangen door een Session variabele en deze aan te passen naargelang de gebruiker een taal kiest:

$_SESSION['dir'] = "NL;

"www.sitenaam.nl/" . $_SESSION['dir'] . "/index.php";

word dan je te openen index indien de gebruiker van taal veranderd.

je moet dan iets inbouwen als volgd:

if ($_GET['lang'] == "EN") {
$_SESSION['dir'] = "EN";
// hier open je dan tevens je pagina.
}
if ($_GET['lang'] == "NL") {
$_SESSION['dir'] = "NL";
// hier open je dan tevens je pagina.
}

of nog beter zet je het in een case.

zoals onderstaand script:
  1. <?php
  2. // Taalvoorkeuren lezen uit de variabele 'lang' in de URL:
  3. if (isset($_GET['lang'])) {
  4. $taalvoorkeuren = $_GET['lang'];
  5. } else {
  6. $taalvoorkeuren = "";
  7. }
  8.  
  9. // Bevat de URL-variabele 'lang' niet minstens 2 tekens voor een
  10. // korte taalcode, gebruik dan de HTTP-header 'Accept-Language':
  11. if ((strlen($taalvoorkeuren) < 2) and (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))) {
  12. $taalvoorkeuren = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  13. }
  14.  
  15. // $taalvoorkeuren omzetten in kleine letters:
  16. $taalvoorkeuren = strtolower($taalvoorkeuren);
  17.  
  18. // Zijn de taalvoorkeuren hierna nog steeds onbekend,
  19. // gebruik dan Engels ($taal = 0) als de standaardtaal:
  20. if (strlen($taalvoorkeuren) < 2) {
  21. $taal = 0;
  22. // Gebruik vervolgens een snelle en eenvoudige controle
  23. // voor een korte taalcode van 2 letters:
  24. } elseif (strlen($taalvoorkeuren) == 2) {
  25. if ($taalvoorkeuren == "fr" ) {
  26. $taal = 1; // Frans
  27. } elseif ($taalvoorkeuren == "nl") {
  28. $taal = 2; // Nederlands
  29. } elseif ($taalvoorkeuren == "de") {
  30. $taal = 3; // Duits
  31. } else {
  32. $taal = 0; // Engels is de standaardinstelling
  33. }
  34. // Gebruik tot slot reguliere expressies om langere taalvoorkeuren
  35. // te verwerken. Daarbij gaan we ervan uit dat de meeste informatie
  36. // beschikbaar is in de standaardtaal Engels en er meer informatie
  37. // beschikbaar is in de wereldtaal Frans dan het Nederlands:
  38. } else {
  39. if (ereg("en", $taalvoorkeuren)) {
  40. $taal = 0; // Engels
  41. } elseif (ereg("fr", $taalvoorkeuren)) {
  42. $taal = 1; // Frans
  43. } elseif (ereg("nl", $taalvoorkeuren)) {
  44. $taal = 2; // Nederlands
  45. } elseif (ereg("de", $taalvoorkeuren)) {
  46. $taal = 3; // Duits
  47. } else {
  48. $taal = 0; // Engels
  49. }
  50. }
  51.  
  52. // Taalcode voor HTTP en HTML, en paginatitel instellen:
  53. switch ($taal) {
  54. case 1: // Frans
  55. $taalcode = "fr";
  56. $titel = "Les langues en Europe";
  57. break;
  58. case 2: // Nederlands
  59. $taalcode = "nl";
  60. $titel = "Talen in Europa";
  61. break;
  62. case 3: // Duits
  63. $taalcode = "de";
  64. $titel = "Sprachen in Europa";
  65. break;
  66. default: // Engels is de standaardinstelling
  67. $taalcode = "en";
  68. $titel = "Languages in Europe";
  69. }
  70.  
  71. // HTTP-headers instellen:
  72. if (!headers_sent()) {
  73. header("Content-Language: " . $taalcode);
  74. header("Content-Type: text/html; charset=iso-8859-1");
  75. }
  76.  
  77. ?>
  78. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  79. <html lang="<?php echo $taalcode; ?>">
  80. <head>
  81. <meta http-equiv="Content-Language" content="<?php echo $taalcode; ?>">
  82. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  83. <title><?php echo $titel; ?></title>
  84. <link href="winxpvg.css" rel="stylesheet" type="text/css">
  85. </style>
  86. </head>
  87. <body lang="<?php echo $taalcode; ?>">
  88. <p>
  89. <a href="getlang.php?lang=en" hreflang="en" <?php
  90. if ($taal == 0) {
  91. echo "style=\"font-weight: bold;\" ";
  92. }
  93. ?>title="English">English</a> |
  94. <a href="getlang.php?lang=fr" hreflang="fr" <?php
  95. if ($taal == 1) {
  96. echo "style=\"font-weight: bold;\" ";
  97. }
  98. ?>title="Fran&ccedil;ais">Fran&ccedil;ais</a> |
  99. <a href="getlang.php?lang=nl" hreflang="nl" <?php
  100. if ($taal == 2) {
  101. echo "style=\"font-weight: bold;\" ";
  102. }
  103. ?>title="Nederlands">Nederlands</a> |
  104. <a href="getlang.php?lang=de" hreflang="de" <?php
  105. if ($taal == 3) {
  106. echo "style=\"font-weight: bold;\" ";
  107. }
  108. ?>title="German">German</a>
  109. </p>
  110. <?php
  111. switch ($taal) {
  112. case 1: // Frans
  113. require_once("include/languages/fr.inc.php");
  114. break;
  115. case 2: // Nederlands
  116. require_once("include/languages/nl.inc.php");
  117. break;
  118. case 3: // Duits
  119. require_once("include/languages/de.inc.php");
  120. break;
  121. default: // Engels is de standaardinstelling
  122. require_once("include/languages/en.inc.php");
  123. }
  124. ?>
  125. <b><u><?php echo($title); ?></u></b>
  126. <p><?php echo($text); ?></p>
  127. </body>
  128. </html>

Grtz.
Offline sarkye - 06/04/2007 11:07
Avatar van sarkye Nieuw lid beetje laat maar toch..

de links komen uit een menu van flash is het dan nog steeds mogelijk
Offline Godlord - 06/04/2007 16:43
Avatar van Godlord PHP gevorderde JBke kon je dat script niet op www.plaatsscript.be of hoe die site ook magen heten.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.192s