Meerdere talen.

Status
Niet open voor verdere reacties.

Mathieuu

Gebruiker
Lid geworden
2 mei 2008
Berichten
38
Beste,

Ik kamp met een probleem op mijn website. Ik heb besloten om een dropdown menu (html scripted) te maken op mijn banner waar de bezoekers dan kunnen kiezen uit 4 verschillende talen, gelinkt naar de zelfvertaalde html-pagina dan.

Nu, mijn probleem is - zoals je al kan raden - , ik kan de taalkeuze maar linken naar één pagina, bv alleen de homepage, of alleen de contact-pagina.

Mijn vraag is dus: is het mogelijk om een hele vertaalde site te linken aan één woord; namelijk dat in mijn dropdown menu ?

Of moet ik dan verder gaan als html ?



Met vriendelijke groet, Mathieu.
 
Je kan niet alleen met html een drop down menu maken. Dit zul je moeten doen met javascript. Als je nou in je root van de website een map aanmaakt, met: taal en daarin nog een map: NL en bijvoorbeeld nog 1: FR etc etc. Dan kan je toch gewoon linken naar de website:
http://www.jouwebsitenaam.nl/taal/nl/
 
Je kan niet alleen met html een drop down menu maken. Dit zul je moeten doen met javascript. Als je nou in je root van de website een map aanmaakt, met: taal en daarin nog een map: NL en bijvoorbeeld nog 1: FR etc etc. Dan kan je toch gewoon linken naar de website:
http://www.jouwebsitenaam.nl/taal/nl/


Ik heb een drop down menu kunnen aanmaken in javascript, werkt goed nu.
In verband met de talen; als ik het goed begrijp, maak ik dus een map aan met taal en vervolgens 4 submappen met de aparte talen; en dan link ik vanuit mijn dropdown menu naar zo'n volledige map ? Moeten dan enkel mijn html-pagina's erin, of ook alle afbeeldingen, css, ..

Dank bij voorbaat, Mathieu.
 
Laatst bewerkt:
Het is me gelukt om de links te maken, maar ik ben echter op een nieuw probleempje gestoten (ik ben niet zeker of ik het in deze sectie mag posten, laat me maar weten als het niet zo is):

Dit is een stukje van het script voor mijn dropdown menu:

onchange="if(this.options.selectedIndex>0) location.href=this.options [this.options.selectedIndex].value">

Mijn dropdown menu heeft 4 keuzes, met als gevolg wanneer ik de eerste kies, er niets gebeurt, ik zou natuurlijk gewoon iets anders kunnen invullen daar, maar ik maak de site voor het bedrijf van een kennis en hun "orders" zijn om Nederlands als eerste te zetten:

<option value="C:\Users\Public\www.alubond.nl\Talen\NL\index.html">Nederlands</option>
<option value="C:\Users\Public\www.alubond.nl\Talen\EN\index.html">English</option>
<option value="C:\Users\Public\www.alubond.nl\Talen\FR\index.html">Français</option>
<option value="C:\Users\Public\www.alubond.nl\Talen\DU\index.html">Deutsch</option>


Hoe kan ik het scriptje aanpassen zodat Nederlands ook kan gekozen worden ?



Met vriendelijke groet, Mathieu.
 
ja. Je script zegt dat je alleen moet veranderen als je index groter is dan 0:
[JS]if(this.options.selectedIndex>0)[/JS]
en, 'nederlands' is je 1e optie, oftewel de selectedIndex 0.

probeer dit:
HTML:
<... onchange="location.href = this.options[this.options.selectedIndex].value">
Also, het kan zijn dat dit niet werkt, omdat je de 'onchange' gebruikt. In dat geval moet je 'onclick' gebruiken.




:thumb:
 
ja. Je script zegt dat je alleen moet veranderen als je index groter is dan 0:
[JS]if(this.options.selectedIndex>0)[/JS]
en, 'nederlands' is je 1e optie, oftewel de selectedIndex 0.

probeer dit:
HTML:
<... onchange="location.href = this.options[this.options.selectedIndex].value">
Also, het kan zijn dat dit niet werkt, omdat je de 'onchange' gebruikt. In dat geval moet je 'onclick' gebruiken.




:thumb:

Ook wanneer ik jouw voorstel probeer, blijft ie steeds terug naar Nederlands springen en is het niet meer mogelijk om terug naar het Nederlands te hoppen.
Dit staat er nu in mijn script:
HTML:
<form action="http://www.mydomain.com/myformhandler.cgi" method="post" name="alubond" id="alubond">
    <select size="1" name="Products"
onclick="location.href = this.options[this.options.selectedIndex].value">

      <option value="/Talen/NL/index.html">Nederlands</option>
      <option value="/Talen/EN/index.html">English</option>
      <option value="/Talen/FR/index.html">Français</option>
      <option value="/Talen/DU/index.html">Deutsch</option>
    </select>
  </div></form>


Wat ik juist aan het denken was, is het ook niet mogelijk om een cookie te laten creëren via een script (java ?), dat zou het probleem toch ook oplossen, of zie ik dat verkeerd ?




Met vriendelijke groet, Mathieu.
 
Laatst bewerkt:
Ik hoop dat topic-bumpen toegestaan is. Ik moet dit probleem namelijk voor vrijdag ten uiterste opgelost hebben, en het lukt me maar niet. Heeft iemand misschien een idee ?


Mvg, Mathieu.
 
oh, op die manier 'terugspringen'. Nou, in (x)html kan je wel aan een select doorgeven of-ie de 'selected' moet zijn, dwz. degene die 'geactiveerd' is.

Dit doe je in html zo:
HTML:
<option value='bla' selected>bbq</option>
en in xhtml zo:
HTML:
<option value='foo' selected='selected'>saz</option>

nu, je kan dus met bv. zoals je zelf al aangaf een cookie checken welke de actieve is, en deze dan een 'selected' property erbij echoen.
 
Bedankt voor alle hulp tot nu toe al, ik heb wat zitten google'n en zo geprobeerd een cookie-script te schrijven in javascript. Ik betwijfel echter ten zeerste of dit juist is, zou iemand dit misschien even kunnen nakijken ?:


[JS]// JavaScript Document

createCookie('ppkcookie','testcookie',0)
{

document.cookie = 'ppkcookie'+"="+'testcookie'+0+"; path=/public_html/Talen";
}

function readCookie(name) {
var nameEQ = 'ppkcookie' + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca;
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

function eraseCookie(ppkcookie) {
createCookie('ppkcookie',"",-1);
}[/JS]


Mvg, Mathieu.
 
gebruik dit cookie-script:
[JS]
//ja, deze werken zeker weten

function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca;
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

function eraseCookie(name) {
createCookie(name,"",-1);
}
[/JS]

nu, gebruik deze html voor je select:
HTML:
    <select size="1" name="Products" id='Products' onclick="doStuff(this);">
       <option value="/Talen/NL/index.html">Nederlands</option>
       <option value="/Talen/EN/index.html">English</option>
       <option value="/Talen/FR/index.html">Français</option>
       <option value="/Talen/DU/index.html">Deutsch</option>
    </select>

nu het leuke: combineren.

zoiets:
[JS]window.onload = checkSelect;

function checkSelect()
{
var elem = document.getElementById('Products'); //pak 'select' element

//check of het koekje bestaat
//als het bestaat: maak dat element selected
//anders:
//maak koekje aan met dat id
}

function doStuff(elem)
{
location.href = elem.options[elem.options.selectedIndex].value
}[/JS]

ik heb nu even geen tijd om je checkSelect() functie te schrijven, dus probeer het eerst zelf even.

Wat mischien nog makkelijker is is om elke 'option' tag een id te geven, en deze te storen.
 
Meerder talen

Mathieuu,
Ik heb er ondertussen een tweede dropdown opgezet die je kan bekijken in
http://www.defietser.net/Mathieuu/
De onderste werkt correct zowel in IE8, Firefox, Google Chrome, Netscape en Opera laatste versies.
Als je een probleem hebt met van mijn server te halen laat het weten dan mail ik je alles door.
Mvg
Defietser
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan