Meertalige website probleem
Hallo,
Ik zit met een probleem en heb al veel fora en pagina geraadpleegd, echter zonder succes.
Ik heb een index.php welke verschillende bestanden include op basis van de URL, zoals:
if($_GET["page"]=="paginanaam"){ include("paginanaam.php"); }
Dit ziet er in de browser zo uit: http://www.domeinnaam.nl/overons
Nu wil ik ook een engelse verse van de website hebben en zie op veel website de volgende linkstructuur:
http://www.domeinnaam.nl/en/overons
of voor de NL versie: http://www.domeinnaam.nl/overons
en voor de DE versie: http://www.domeinnaam.nl/de/overons
Ik probeer volgens dit principe te bouwen. Maar wanneer ik dan de overons pagina wil inladen kan hij deze niet inladen om deze pagina niet meer direct achter de .nl staat en dus nu als tweede variable in de URL staat.
Hoe kan ik volgens bovenstaande principe de meertalige website structueren?
Ik wil geen SESSIONS gebruiken voor de talen ivm met SEO technische redenen.
Graag hoor ik van julli. Alvast hartelijk bedankt!
Mvgr, Johnny
Ik zit met een probleem en heb al veel fora en pagina geraadpleegd, echter zonder succes.
Ik heb een index.php welke verschillende bestanden include op basis van de URL, zoals:
if($_GET["page"]=="paginanaam"){ include("paginanaam.php"); }
Dit ziet er in de browser zo uit: http://www.domeinnaam.nl/overons
Nu wil ik ook een engelse verse van de website hebben en zie op veel website de volgende linkstructuur:
http://www.domeinnaam.nl/en/overons
of voor de NL versie: http://www.domeinnaam.nl/overons
en voor de DE versie: http://www.domeinnaam.nl/de/overons
Ik probeer volgens dit principe te bouwen. Maar wanneer ik dan de overons pagina wil inladen kan hij deze niet inladen om deze pagina niet meer direct achter de .nl staat en dus nu als tweede variable in de URL staat.
Hoe kan ik volgens bovenstaande principe de meertalige website structueren?
Ik wil geen SESSIONS gebruiken voor de talen ivm met SEO technische redenen.
Graag hoor ik van julli. Alvast hartelijk bedankt!
Mvgr, Johnny
Waarom bij duits .../de/... en bij nederlands niet? Is het niet makkelijker om dan .../nl/... te gebruiken?
Volgens mij worden er geen Sessions gebruik voor search-bots. Dus sessions of cookies zijn altijd een goed hulpmiddel bij multi-language-systemen.
Ik wil het hoofddomein graag standaard Nederlands hebben. Als ik het belangrijkste domein/taal in een dynamische "map" plaats heb ik seo technisch gezien geen content meer op domein.nl staan, maar op domein.nl/nl/
Ik hoop dat er nog een goed antwoord/oplossing komt voor m'n probleem.
Je kan je site toch doorsturen naar /nl ?
Denk niet dat je naar dit zoekt, maar overigens vind ik dit een stuk makkelijker.
bron: http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
/*
------------------
Taal: Nederlands
File: lang.nl.php
------------------
*/
$site_taal = array();
$site_taal['pagina_titel'] = "Jouw Website Naam";
/*
------------------
Taal: Engels
File: lang.en.php
------------------
*/
$site_taal = array();
$site_taal['pagina_titel'] = "Your Website Name";
/*
------------------
File: index.php
------------------
*/
session_start();
header("Cache-control: private");
if(isset($_GET['lang'])) {
$lang = $_GET['lang'];
$_SESSION['lang'] = $lang;
setcookie('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isset($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
}
else if(isset($_COOKIE['lang'])) {
$lang = $_SESSION['lang'];
}
else {
$lang = 'nl';
}
switch($lang) {
case 'en' :
$file = "lang.en.php";
break;
case 'nl' :
$file = "lang.nl.php";
break;
default:
$file = "lang.nl.php";
}
include_once 'lang/'.$file;
?>
<?php
// Woord opvragen
echo $site_taal['pagina_titel'];
?>
/*
------------------
Taal: Nederlands
File: lang.nl.php
------------------
*/
$site_taal = array();
$site_taal['pagina_titel'] = "Jouw Website Naam";
/*
------------------
Taal: Engels
File: lang.en.php
------------------
*/
$site_taal = array();
$site_taal['pagina_titel'] = "Your Website Name";
/*
------------------
File: index.php
------------------
*/
session_start();
header("Cache-control: private");
if(isset($_GET['lang'])) {
$lang = $_GET['lang'];
$_SESSION['lang'] = $lang;
setcookie('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isset($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
}
else if(isset($_COOKIE['lang'])) {
$lang = $_SESSION['lang'];
}
else {
$lang = 'nl';
}
switch($lang) {
case 'en' :
$file = "lang.en.php";
break;
case 'nl' :
$file = "lang.nl.php";
break;
default:
$file = "lang.nl.php";
}
include_once 'lang/'.$file;
?>
<?php
// Woord opvragen
echo $site_taal['pagina_titel'];
?>
bron: http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html
@RobertJan: Dit werkt met Sessies. En om SEO technische redenen wil ik dus niet met Sessies werken...
@Moderator: zoals ik aangaf wil ik niet de maillevel "weggooien". De NL versie moet draaien op het hoofdomein en niet op een /nl/ URL
@Moderator: zoals ik aangaf wil ik niet de maillevel "weggooien". De NL versie moet draaien op het hoofdomein en niet op een /nl/ URL
Exploden op $_SERVER['PATH_INFO'] en kijken of er er een taal in de URl staat. Zo niet, laad dan de Nederlandse gegevens....




