Simpele taal switch?
2 linkjes NL en EN.
De default taal is NE.
Bij NE moet ie de Nederlandse tekst echo'en.
Bij EN moet ie logischerwijs de Engelse tekst echo'en.
Kan dit zonder de pagina te refreshen?
Kan iemand mij met een opzetje van een script de goede richting induwen, ik heb al gegoogle'd, maar kom er niet echt uit.
Gewijzigd op 01/01/1970 01:00:00 door Philip van Leeuwen
Maar waarom is de pagina refreshen zo moeilijk dan? Elke user is gewend dat een pagina opnieuw moet laden als je een andere taal kiest..
Gewijzigd op 01/01/1970 01:00:00 door Philip van Leeuwen
Heeft iemand een voorbeeld script of een link naar een tutorial?
Dank.
Één ding is zeker, hij kan niet achteraf iets anders echoën als de pagina al geladen is, of je zou AJAX moeten gebruiken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
# Instellen als .. als er nog niet op een linkje geklikt is, nu automatisch naar NL.
if($_GET['lang'] == "")
{
# Instellen als NL
$_GET['lang'] == "nl";
echo "nederlands";
}
elseif($_GET['lang'] == "nl")
{
# Instellen voor NL (opnieuw, maar moet)
echo "nederlands";
}
elseif($_GET['lang'] == "en")
{
# Instellen als EN
echo "engels";
}
# En als je het wil linken:
<a href="naam_pagina.extentie?lang=*">Asteriks is moet de taal worden....</a>
?>
# Instellen als .. als er nog niet op een linkje geklikt is, nu automatisch naar NL.
if($_GET['lang'] == "")
{
# Instellen als NL
$_GET['lang'] == "nl";
echo "nederlands";
}
elseif($_GET['lang'] == "nl")
{
# Instellen voor NL (opnieuw, maar moet)
echo "nederlands";
}
elseif($_GET['lang'] == "en")
{
# Instellen als EN
echo "engels";
}
# En als je het wil linken:
<a href="naam_pagina.extentie?lang=*">Asteriks is moet de taal worden....</a>
?>
Gewijzigd op 01/01/1970 01:00:00 door Leon
Thanks! :)
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
// GET oid om te bepalen welke taal het is
$lang = "nl";
// Checks of de taal wel bestaat
require_once("lang/" . $lang . "lang.php");
echo $welcome . "<p />";
echo $bye . "<p />";
?>
// GET oid om te bepalen welke taal het is
$lang = "nl";
// Checks of de taal wel bestaat
require_once("lang/" . $lang . "lang.php");
echo $welcome . "<p />";
echo $bye . "<p />";
?>
___
nl.lang.php
___
en.lang.php
Je kan de zinnen etc natuurlijk ook in een array opslaan, XML bestand w/e.
Gewijzigd op 01/01/1970 01:00:00 door Producted
Wellicht is het dan ook handig om maar gelijk een template te nemen. Alles in variabelen zetten is ook niet alles.
Alleen is het zo niet echt Google friendly denk ik?
Misschien dan toch maar alle tekst echo'n inplaats van een file includen waar de tekst in staat?
De include tekst file is toch maar 3kb.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
# Instellen als .. als er nog niet op een linkje geklikt is, nu automatisch naar NL.
if($_GET['lang'] == "")
{
print '<div id="tekstKader">';
include 'nl.php';
print '</div>';
}
elseif($_GET['lang'] == "nl")
{
print '<div id="tekstKader">';
include 'nl.php';
print '</div>';
}
elseif($_GET['lang'] == "en")
{
print '<div id="tekstKader">';
include 'en.php';
print '</div>'; }
# En als je het wil linken:
?>
# Instellen als .. als er nog niet op een linkje geklikt is, nu automatisch naar NL.
if($_GET['lang'] == "")
{
print '<div id="tekstKader">';
include 'nl.php';
print '</div>';
}
elseif($_GET['lang'] == "nl")
{
print '<div id="tekstKader">';
include 'nl.php';
print '</div>';
}
elseif($_GET['lang'] == "en")
{
print '<div id="tekstKader">';
include 'en.php';
print '</div>'; }
# En als je het wil linken:
?>
In bovenstaande code heb ik dus "nl.php".
Als een bezoeker via Google of direct naar http://www.url.nl/nl.php gaat moet ie naar http://www.url.nl geredirect worden. Kan dit? Zo ja, heeft er iemand een voorbeeld?
Mijn dank is groot :)
To elaborate, I'm pretty sure google doesn't know that you are using an include at all. It's processed server-side, so google will see the same post-processed product of what your clients are served, notwithstanding the limitations of the robots.txt file or the robots meta tag in the header.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
In de head
<script type="text/javascript">
var langArray =
{
"en" : {
"div" : "I hereby salute you",
"par" : "Another text"
},
"nl" : {
"div" : "Gegroet!",
"par": "Nog een text"
}
}
function languageSwitch(lang) {
try {
var array = langArray[lang];
for(id in array) {
try {
docuement.getElementById(id).innerHTML = array[id];
} catch(e) {}
}
} catch(e) {}
}
body.onload(languageSwitch('nl'));
</script>
<a href="#" onclick="languageSwitch('en')">EN</a>
<a href="#" onclick="languageSwitch('nl')">NL</a>
<div id="div"></div>
<div id="par"></div>
<script type="text/javascript">
var langArray =
{
"en" : {
"div" : "I hereby salute you",
"par" : "Another text"
},
"nl" : {
"div" : "Gegroet!",
"par": "Nog een text"
}
}
function languageSwitch(lang) {
try {
var array = langArray[lang];
for(id in array) {
try {
docuement.getElementById(id).innerHTML = array[id];
} catch(e) {}
}
} catch(e) {}
}
body.onload(languageSwitch('nl'));
</script>
<a href="#" onclick="languageSwitch('en')">EN</a>
<a href="#" onclick="languageSwitch('nl')">NL</a>
<div id="div"></div>
<div id="par"></div>
Kan iemand de code aub ff nakijken, ben niet zo heel goed in JS.
Je kan het nog uitbreiden voor SEO door de taal in de anchor (na de # in de url) te zetten.
Gewijzigd op 01/01/1970 01:00:00 door Pim -
Philip schreef op 11.01.2010 18:23:
Oh, na even kort Google'n blijkt dat php include Google niets zegt. Dus dat het in feite niets uit maakt...
To elaborate, I'm pretty sure google doesn't know that you are using an include at all. It's processed server-side, so google will see the same post-processed product of what your clients are served, notwithstanding the limitations of the robots.txt file or the robots meta tag in the header.
To elaborate, I'm pretty sure google doesn't know that you are using an include at all. It's processed server-side, so google will see the same post-processed product of what your clients are served, notwithstanding the limitations of the robots.txt file or the robots meta tag in the header.
Als je google friendly wilt zijn, zou het een verstandige zet zijn om de taal meta tag ook wijzigen met je PHP script.
http://www.seoconsultants.com/meta-tags/language.asp
Bedankt voor de tip! :)