Hejsan
Jag har en vandrarhemssida på svenska, som jag ny fått veta att den måste översättas till eng å ty.
sidan
Har börjat lite smått med att lägga dit tre flaggor som ska vara klickbara så man kommer till det aktuella språket.
Jag använder mig också av det här php scriptet för att navigera:
<?php
// För PHP-version äldre än 4.1.0
// byt ut $_GET mot $HTTP_GET_VARS
if (isset($_GET['pg'])) {
$pg = $_GET['pg'];
} else {
$pg= "front";
}
if (file_exists("$pg.inc.php")) {
include "$pg.inc.php";
}else {
echo "Sidan du sökte finns inte";
}
?>
Jag är dålig på att förklara men frågan är nu om någon har nåt tips på hur jag borde göra en eng&tysk version av sidan utan att kopiera hela websidan (alla filer) två gånger och översätta kopiorna
vilket gör att jag har t.ex. tre startsidor (start.php) och vilket gör att om jag ska ändra på nåt så måste jag göra det tre gånger vilket gör att meningen med php scriptet är paj...
hummm
Hoppas någon fattar å vill hjälpa mig
Tack
WibbeMedlem sedan jan. 200337 inlägg Det går faktist på ett riktigt smidigt sätt; fast det kräver mycket tankeverksamhet & kodande.
Uppbyggnad:
Du måste skapa en fil som heter lang.php/inc. I denna skapar du en variabel för varje mening. Då inkluderar du lang i alla filer, sen är det bara att anropa variablerna
<? echo $se_welcome ?>
Men eftersom att dom ska kunna välja vilket språk som ska visas på sidan måste du använda dig av Querystrings. (ett tips är även att använda cookies.) Så då kommer det se ut såhär: index.php?lang=se&sida=1. Jag hoppas du förstår. Det finns mer avancerade och kanske effektivare metoder men denna är bra, den funkar, och mam behöver inte vara bra på PHP för att göra den.
Wibbe's idé är helt korrekt!
Tar tid, och man måste ha mycket överseende med kodandet!
Wibbe: Jag förstår faktst hur du menar ända fram till ordet Querystrings ???, där tar det stopp ???
Jag kan inte php alls, har fått php koden jag visade här av nån snäll person.
Jag sökte lite andra ställen efter nåt sånt här script eller liknande, men hittade inget, finns det nåt?
Kan ni beskriva lite mer hur jag ska göra?
Eller är det nån som har ett sådant script?
Fuel: jag hittade inte nåt sådant script i wF script/php
Ingen som kan hjälpa mig?
Jag har försökt sen i morse men det funkar inte så bra med Wibbes förklaring, jag får det itne till att funka
hmm
WibbeMedlem sedan jan. 200337 inlägg Querystring är det du använder. Så det blir ?action=daadaa&page=sdads..
WibbeMedlem sedan jan. 200337 inlägg
<?php
include "lang.php";
if($lang == "se") {
?>
<? echo $se_welcome ?>
<br><br>
<b><? echo $se_news ?></b><br><br>
// Nyhetsscript
// End
<? }
elseif($lang == "de") {
?>
<? echo $de_welcome ?>
<br><br>
<b><? echo $de_news ?></b><br><br>
// Nyhetsscript
// End
<? }
elseif($lang == "en") {
?>
<? echo $en_welcome ?></b><br><br>
// Nyhetsscript
// End
<? } ?>
lang.php
<?php
// Svenska variabler
$se_welcome == "Välkommen hit och blabla bbllbalblal...";
$se_news == "Nyheter";
// Tyska variabler
$de_welcome == "Wilkommen zu diese zeite blabalbal...";
$de_news == "Neuheute";
// Engelska variabler
$en_welcome == "Welcome to this site balkblblva....";
$en_news == "News";
?>
Jag hoppas du förstår hur det ska vara uppbyggt.
hummm
jag provade det genom att göra två filer, en med den första php koden i å en med det andra, alltså en index.php å en lang.php:
http://www.carbon.nu/test/index.php
och föra att få fram d olika språken skrev jag:
http://www.carbon.nu/test/index.php?lang=se
men det ser ut att inte funka, säkert nåt fel jag gör, men efter en hel del grubbling å tänkande kan jag inte komma på hur jag ska göra.
Hur ska jag göra, vad har jag glömt?
DarrenMedlem sedan dec. 2002789 inlägg Jag skulle inte göra så där... Ett annat förslag.
<?php
// engelska - language_en.php
$välkommen = "Welcome";
...
?>
<?php
// tyska - language_de.php
$välkommen = "Wilkommen";
...
?>
<?php
// svenska - language_se.php
$välkommen = "Välkommen";
...
?>
<?php
// sidan som skall visa texten - index.php
include("language_"'.$_REQUEST["lang"].'".php");
echo $välkommen;
?>
På detta sättet slipper du skriva all kod tre gånger som du får göra i förslaget ovan. Genom att variablerna heter samma i alla språkfiler så räcker det att du inkluderar rätt språkfil...
Darren:
Provade det du skrev, men fick det här felmeddelandet:
http://www.carbon.nu/test2/index.php
DarrenMedlem sedan dec. 2002789 inlägg Visst fasike får du fel... Det var lite felstavat
<?php
// sidan som skall visa texten - index.php
include("language_".$_REQUEST["lang"].".php");
echo $välkommen;
?>
När du skall anropa index.php så gör du det så här:
<a href="index.php?lang=en">Engelska</a>
<a href="index.php?lang=de">Tyska</a>
<a href="index.php?lang=se">Svenska</a>