Om jag vill skapa en hemsida med/på olika språk utan att använda mySQL, hur gör jag då???
Alltså jag vill kunna använda mig av olika språk-filer som t.ex. svenska.php, engelska.php etc.
Och när jag exempelvis klickar på "engelska" så ska hela sidan kunna läsas på engelska.
Kan man översätta en hel sida i en enda språk-fil (t.ex. engelska.php) och sen inkludera den på sidan??
Vilka värden/koder ska man använda till språk-filer???
Hoppas på snabbt svar!
Hej.
Nu kodar jag inte PHP, men eftersom ASP är likt, kan jag ge mig på ett försök. :)
Ett förslag är en XML-fil som håller reda på de olika språken. Jag kan inte XML. Helt ärligt vet jag knappt vad det är, så jag skall inte säga för mycket, men det är inte första gången det här med flerspråkiga sidor tas upp på webForum, därför har jag ofta läst att lösningen blivit en XML-fil.
Ett annat sätt - så jag skulle gjort - kan vara att starta en session som håller reda på vilket språk man valt. Säg att om du trycker på svenska får sessionen ett speciellt värde, som du sedan jämför och som skriver ut texten på språket man valt. Nu vet jag självklart inte hur stor din sida är, men om det är en mindre sida fungerar nog detta prima. :)
Vet inte om detta var det svar du ville ha, och om det tillfredställer dig, men du får annars ta och vänta in proffsen till imorgon. :)
/M
QimenMedlem sedan juni 20015 009 inlägg Exempel:
svenska.php:
<?php
$LANG['hello'] = "hej";
$LANG['bye'] = "Hejdå";
?>
engelska.php:
<?php
$LANG['hello'] = "hello";
$LANG['bye'] = "bye";
?>
config.php:
<?php
$lang = "sv";
?>
index.php:
<?php
include "config.php";
if ($lang == "sv") {
include "svenska.php";
} else {
include "engelska.php";
}
echo $LANG['hello'] . "<br>" . $LANG['bye'];
?>
Detta kan man sedan vidarutveckla hur långt som helst men detta är principen. :)
/r Roligt att det kommer två inlägg så tätt vid denna tiden på natten. :e
Tack för dom snabba svaren..
Jag kommer att välja Qimen´s förslag, det verkar lite lättare. :r
Roligt att det kommer två inlägg så tätt vid denna tiden på natten.
Men bara ett som är bra. ;) Mitt var lite flummigt nu upptäckte jag. :e
Guldstrand: Gör så. Qimen är rutinerad. ;)
Sätt bara Qimens svar som löst. :)
En annan sak...
Hur gör jag om jag vill ha t.ex. länkar till de olika språken???
[ÄNDRAT]Sidan ska vara på både svenska, engelska och franska. [/ÄNDRAT]
Du får ha en sträng i länken som anger värdet (språket).
Typ
<a href="index.asp?language=sv">Svenska</a>
Osv.
magnusfernstrom skrev:
Du får ha en sträng i länken som anger värdet (språket).
Typ
<a href="index.asp?language=sv">Svenska</a>
Osv.
Eh, nu förstår jag inte alls. :OO
(Kan inte så mycket om PHP.)
Vet inte om Qimen gått och lagt sig, så jag ger mig på ännu ett försök att förklara något inom PHP. :e Annars får vi hoppas Qimen är vaken. Eller vänta tills imorgon. ;)
Men alltså, du får ta emot värdet i config.php och kolla med en if-sats om värdet i länken var svenska.
Alltså, om värdet i "language" är = "sv" ska detta skrivas ut.
Hmm, jag överlåter det nu till Qimen. :e
Hmm, ok...
Ska försöka att "klura" ut detta innan ögonen faller ihop. *gäsp*
Annars får "vi"/jag vänta tills Qimen kan svara eller kanske någon annan.
Ha det jättebra magnusfernstrom, och tack för hjälpen.
QimenMedlem sedan juni 20015 009 inlägg Svenska.php
<?php
$LANG['hello'] = "hej";
$LANG['bye'] = "Hejdå";
?>
franska.php
<?php
$LANG['hello'] = "bonjour";
$LANG['bye'] = "orevoir";
?>
engelska.php:
<?php
$LANG['hello'] = "hello";
$LANG['bye'] = "bye";
?>
config.php:
<?php
$lang = "sv";
?>
index.php:
<?php
include "config.php";
if ($lang == "sv") {
include "svenska.php";
} else if ($lang == "fr") {
include "franska.php";
} else {
include "engelska.php";
}
echo $LANG['hello'] . "<br>" . $LANG['bye'];
?>
Vill du att den ska kolla efter värdet i adressen kan du göra så här:
byt ut:
if ($lang == "sv") {
include "svenska.php";
} else if ($lang == "fr") {
include "franska.php";
} else {
include "engelska.php";
}
mot:
if(isset($_GET['lang']) && ($_GET['lang'] == "sv")){
include "svenska.php";
} else if(isset($_GET['lang']) && ($_GET['lang'] == "fr")){
include "franska.php";
} else {
include "engelska.php";
}
Då kommer den kolla om lang finns i adressfältet och om inte så använder den engelska. Vill man byta språk nu kan man använda en länk som ser ut såhär:
<a href="index.php?lang=sv">Svenska</a>
<a href="index.php?lang=fr">Franska</a>
<a href="index.php?lang=en">Engelska</a>
Aha..!? Nu förstår jag mycket bättre, tack än en gång för hjälpen.
Hur gör jag för att "infoga" <br> och länkar i t.ex. $LANG['hello'] = "hej";
SnakesMedlem sedan okt. 2004392 inlägg $LANG['br'] = "<br>Radbrytning";
eller kanske du mena bara en radbrytning:
$LANG['radbrytning'] = "\nRadbrytning";
$LANG['lank'] = "<a href=\"index.php\">Länk</a>";
EDIT:
Skulle tipsa starkt att du bytte ut
if(isset($_GET['lang']) && ($_GET['lang'] == "sv")){
include "svenska.php";
} else if(isset($_GET['lang']) && ($_GET['lang'] == "fr")){
include "franska.php";
} else {
include "engelska.php";
}
mot
session_start();
if(isset($_GET['lang']) && ($_GET['lang'] == "sv")){
$_SESSION['language'] = "sv";
} else if(isset($_GET['lang']) && ($_GET['lang'] == "fr")){
$_SESSION['language'] = "fr";
} else {
$_SESSION['language'] = "en";
}
if($_SESSION['language'] == "sv"){
include "svenska.php";
} else if($_SESSION['language'] == "fr"){
include "franska.php";
} else if($_SESSION['language'] == "en"){
include "engelska.php";
}
Varför?? jo, för att om du hade som det var först så ändrades det alltid till engelska om du byter sida fast du valt svenska innan!
Alltså på så vis så vet den hela tiden vilket språk den ska ha... oavsett om du ändrar sida eller inte!!
För att inte få kritik: Jag är inte säker, jag kan ha fel!
JosefMedlem sedan mars 20023 561 inlägg Den modellen ni jobbar efter nu blir nog väldigt jobbig i längden med uppdatering som blir ett dagsverke, speciellt om det ska ske på alla språk.
Bättre att använda DBMS eller XML.
hltmMedlem sedan nov. 2004438 inlägg Den här skriptet gillar jag iaf, funkar hur bra som helst: http://www.webforum.nu/showthread.php?s=&threadid=65227
Nu har ni gjort mig lite förvirrad här...
Vilken kod ska jag nu använda!?
Vilken kod är mest effektiv och kräver minst arbete?
The_HulkMedlem sedan juni 20031 837 inlägg Använd det som hltm föreslår, det ser mycket snyggare ut i PHP-koden och blir lättare att skriva.
dAEkMedlem sedan feb. 20041 816 inlägg Grammatiken kommer bli lustig om du översätter "ord för ord" enligt ovan ;)
eng.grammatik ~ svensk, i stora drag, tror jag...
fr.grammatik är dock inte lik svensk såvitt jag vet.
Vill du få vettiga översättningar är det nog bäst att sätta sig och skriva en översättning per sid-item och språk tror jag. Det blir en jäääääääkla massa filer... men en xml-lösning kanske vore nåt? De som kan får tipsa vidare :)