Jump to content


Buttons website aanpassen na taalkeuze


Sjattuh

Recommended Posts

Ik heb het volgende stukje code:

 

Citaat:
function siteheader($text) {

echo "<body>\r\n";

echo " <div id=\"body\">\r\n";

echo " <div id=\"header\">\r\n";

echo " <a href=\"index.php\"><img src=\"PA_logo_v2-3.PNG\" align=\"left\" style=\"margin-left: 10px;\"/></a>\r\n";

echo " <form method=\"post\"><br>\r\n";

echo " <span style=\"color:black;\">Language:</span>\r\n";

echo " <select name=\"taal\">\r\n";

echo " <option value=\"dutch\">Nederlands</option>\r\n";

echo " <option value=\"english\">English</option>\r\n";

echo " <option value=\"svensk\">Svensk</option>\r\n";

echo " <option value=\"norsk\">Norsk</option>\r\n";

echo " <option value=\"deutsch\">Deutsch</option>\r\n";

echo " <option value=\"dansk\">Dansk</option>\r\n";

echo " </select>\r\n";

echo " <input type=\"submit\" name=\"Submit\" value=\"Change\">\r\n";

echo " </form>\r\n";

echo " </div>\r\n";

echo " <div id=\"menu\">\r\n";

echo " <ul>\r\n";

echo " <li align=\"center\" class=\"menudiv\"></li>\r\n";

echo " <li><a href=\"index.php?page=home\">Home</a></li>\r\n";

echo " <li class=\"menudiv\"></li>\r\n";

echo " <li><a href=\"index.php?page=welcome\">Welcome</a></li>\r\n";

echo " <li class=\"menudiv\"></li>\r\n";

echo " <li><a href=\"index.php?page=about\">PA Property</a></li>\r\n";

echo " <li class=\"menudiv\"></li>\r\n";

echo " <li><a href=\"index.php?page=offer\">Palmiye Complex</a></li>\r\n";

echo " <li class=\"menudiv\"></li>\r\n";

echo " <li><a href=\"pictures.php\">Photo Gallery</a></li>\r\n";

echo " <li class=\"menudiv\"></li>\r\n";

echo " <li><a TARGET=\"_blank\" href=\"Palmiye PROSPECT English.pdf\">Prospect</a></li>\r\n";

echo " <li class=\"menudiv\"></li>\r\n";

echo " <li><a href=\"index.php?page=finance\">Finance</a></li>\r\n";

echo " <li class=\"menudiv\"></li>\r\n";

echo " </ul>\r\n";

echo " </div>\r\n";

 

Nu wil ik dat aan de hand van de taal keuze (zoals in het eerste deel) ik de menu buttons laat aanpassen. Een soort van:

 

Citaat:
If Language = Nederlands

echo " <li class=\"menudiv\"></li>\r\n";

echo " <li><a href=\"index.php?page=welcome\">Welkom</a></li>\r\n";

 

If Language = English

echo " <li class=\"menudiv\"></li>\r\n";

echo " <li><a href=\"index.php?page=welcome\">Welcome</a></li>\r\n";

 

Dit een beetje makkelijk te doen?

 

Weet je wat erger is dan een worm in je appel?

Een halve worm in je appel...

Link to comment
Share on other sites


Maak een aparte bestanden aan met arrays die de tekst bevatten welke je include in je code.Bijvoorbeeld op deze manier:

Code:
nl.inc$txt['welkom']="Welkom";$txt['titel']="Dit is de website van ......";uk.inc$txt['welkom']="Welcome";$txt['titel']="This is the website of ......";

Dan kan je in je code heel gemakkelijk verwijzen naar de verschillende talen. (En eventueel meer talen toevoegen later)

Uiteraard kan je i.p.v. arrays ook vars gebruiken, of in een multidimensionale array alle talen proppen, maar het basis idee is hetzelfde.

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link to comment
Share on other sites

hmmm... Ik moet eerlijk bekennen dat ik erg nieuw ben in dit php/sql gebeuren.

 

Ik heb in het sql de talen verdeeld d.m.v. een field 'taal' waar dus een check voor in de code zit. Dit werkt allemaal prima.

 

Ik moet nu alleen de buttons mee laten veranderen en eventueel het email adres voor het contact form per taal.

Weet je wat erger is dan een worm in je appel?

Een halve worm in je appel...

Link to comment
Share on other sites

Dan pak je dus simpelweg Big Fellow's idee en combineer dat met die taalversie die de mensen hebben geselecteerd om zo te bepalen welke taalmodule je moet laden.

 

je maakt een nl.inc.php met als inhoud:

Php Code:
$txt['welkom']="Welkom";$txt['titel']="Dit is de website van ......"; 

 

en een uk.inc.php met als inhoud:

Php Code:
$txt['welkom']="Welcome";$txt['titel']="This is the website of ......"; 

 

Etc. voor duits, frans en wat je maar wilt.

 

Op basis van de taalkeuze laad je de gewenste include file:

Php Code:
if($taalversie == "uk") include_once("uk.inc.php");elseif($taalversie == "de") include_once("de.inc.php");else include_once("nl.inc.php"); 

 

 

Link to comment
Share on other sites

Ik neem aan dat de overige pagina's op je website ook in meerdere talen beschikbaar zijn. Dus je zult dat voor iedere pagina moeten doen.

 

Dus niet voor 5 verschillende taalversies 5 verschillende index.php en 5 verschillende vervolgpagina.php maken, maar:

1 pagina index.php

1 pagina vervolgpagina.php

5 include files met de teksten (5 taalversies) die in index.php en vervolgpagina.php gebruikt worden.

 

Link to comment
Share on other sites

in de link onder de button geef je parameters mee

Voorbeeld:

index.php?lang=english&page=welcom

 

Dan ga die via de get functie binnen halen om je query op de database op te bouwen;

 

$lang = $_GET['lang'];

$page = $_GET['page'];

 

Dan de query

 

$query= "SELECT head,tekst FROM taal WHERE taal=". $lang ." and page=" . $page;

 

 

 

 

iMac 27" macOS Sierra
iPhone 5s iOS 10

Link to comment
Share on other sites

Guest SatMann

in .asp (ik doe weinig .php) doe ik dat ook met een taal id in de url.

 

bv : http://www.sat4all.com/mijntest.asp?lng=NL&Id1=1234

dus die lng neem ik over in alle urls.

 

dan kan je snel een include file maken met alle vertalingen of iets geavanceerder kan je zelfs alle vertalingen in een database steken voor grotere systemen (zo doe ik het) omdat je dan je klanten een eigen administratiesyteem geeft waar zij ook zelf die vertalingen kunnen bijhouden en zelf zoveel talen kunnen bijmaken zonder één letter code de moeten doen of dat ik één letter code moet bijzetten.

 

maar voor gewoon gebruik, de raad volgen van de heren.

een include maken en/of een taalindicator maken.

 

nog een tip : hou je variables in je url kort.

gebruik liever : EN en NL dan enlgish, dutch.

je sleept onnodig veel character mee en wanneer je in een db moet gaan zoeken naar alle records die in de kolom taal EN hebben of englisch, dan scheelt dit weer in snelheid.

want EN = 2 te zoeken en overeen te komen characters, englisch = 8.

als je dan door een db moet snorren van honderduizenden records...dan merk je wel het verschil. Kwestie van het te weten voor je begint uiteraard.

 

succes.

Link to comment
Share on other sites

  • 4 weeks later...
Guest Luciano

Wat je kan doen:

 

session_start();

 

if ($_POST[taal] == "Nederlands") $_SESSION[taal]="nl";

if ($_POST[taal] == "English") $_SESSION[taal]="en";

if ($_POST[taal] == "Deutch") $_SESSION[taal]="de";

 

include("/include/talen/".$_SESSION[taal].".inc.php");

Dan include je dus /include/talen/nl.inc.php of net welke taal je kiest.

In de nl.inc.php kun je dingen plaatsen zoals:

 

<?php

$lang[welcome] = "Welkom";

$lang[button1] = "/images/nl/button1.png";

$lang[button2] = "/images/nl/button2.png";

?>

 

Inc en.inc.php zet je dan:

<?php

$lang[welcome] = "Welcome";

$lang[button1] = "/images/en/button1.png";

$lang[button2] = "/images/en/button2.png";

?>

 

In iedere pagina waar je session_start() aanroept zie je met $_SESSION[taal] welke taal actief is. Dan hoef je geen $_GET's en $_POST's te controleren. En het is stukken veiliger.

 

Let op! bovenstaande is even uit het hoofd dus controleren op fouten!

 

Zo kun je alle talen heel makkelijk instellen en toevoegen.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Lees alvorens je verder gaat onze Terms of Use en Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.