Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  0 354
Jeg har en side som skal støtte flere språk.
Problemet er slik jeg har gjort det nå, så føles det tungvint å legge til tekster, eller rett og slett å holde oversikten.
Er det noen som kan se litt og evt peke meg litt i riktig retning?
Av en eller annen grunn så vises teksten i testkoden kun med fransk språktekst nr 2 men det regner jeg med at er bare en skriveleif et eller annet sted.

lang.php:

Kode

<html>
<?php
	$language = 'no';
	if (isset($_POST['language']))
	{
		$language = $_POST['language'];
		
	}
	echo "Språksetting: $language<br>";
?>

<body>
	<form action="lang.php" method="post" name="form">
	<?php label(1); ?>
		<select name='language'>
		<option value='no'>Norsk</option>
		<option value='en'>English</option>
		<option value='de'>Deutsch</option>
		<option value='fr'>Francais</option>
		</select>
	<input type="submit" value="Send"> 	
	</form>
	<?php label(2); ?><br>
	<?php label(3); ?><br>
</body>
</html>

<?php
function label($numb)
{
	global $language;
	// Feilmelding som kommer opp hvis språk/nummer ikke eksisterer. Blir overskrevet med riktig tekst hvis finnes.
	$text = "N/A! Nr=$numb, Lang=$language";
	
	switch ($language)
	{
		case "no":
			switch ($numb)
			{
				case 1:
					$text="Velg språk";
				case 2:
					$text = "Velkommen";
				break;
			}
		case "en":
			switch ($numb)
			{
				case 1:
					$text="Choose language";
				case 2:
					$text = "Welcome";
				break;
			}
		case "de":
			switch ($numb)
			{
				case 1:
					$text="Sprache wählen";
				case 2:
					$text = "Willkommen";
				break;
			}
		case "fr":
			switch ($numb)
			{
				case 1:
					$text="Sélectionnez la langue";
				case 2:
					$text = "Accueil";
				break;
			}
	}

	echo $text;
}
?>
Har funnet ut av språkforvirringen nå, var litt manglende break's.
Ny versjon.
lang.php:

Kode

<html>
<?php
	$language = 'no';
	if (isset($_POST['language']))
	{
		$language = $_POST['language'];
		
	}
	echo "Språksetting: $language<br>";
?>

<body>
	<form action="lang.php" method="post" name="form">
	<?php label(1); ?>
		<select name='language'>
		<option value='no'>Norsk</option>
		<option value='en'>English</option>
		<option value='de'>Deutsch</option>
		<option value='fr'>Francais</option>
		</select>
	<input type="submit" value="Send"> 	
	</form>
	<?php label(2); ?><br>
	<?php label(3); ?><br>
	
</body>
</html>

<?php
function label($numb)
{
	global $language;
	// Feilmelding som kommer opp hvis språk/nummer ikke eksisterer. Blir overskrevet med riktig tekst hvis finnes.
	$text = "N/A! Nr=$numb, Lang=$language";
	
	switch ($language)
	{
		case "no":
			switch ($numb)
			{
				case 1:
					$text="Velg språk";
					break;
				case 2:
					$text = "Velkommen";
					break;
			}
		break;
		case "en":
			switch ($numb)
			{
				case 1:
					$text="Choose language";
					break;
				case 2:
					$text = "Welcome";
					break;
			}
		break;
		case "de":
			switch ($numb)
			{
				case 1:
					$text="Sprache wählen";
					break;
				case 2:
					$text = "Willkommen";
					break;
				break;
			}
		break;
		case "fr":
			switch ($numb)
			{
				case 1:
					$text="Sélectionnez la langue";
					break;
				case 2:
					$text = "Accueil";
					break;
			}
		break;
	}

	echo $text;
}
?>
Sist endret av Sjanten; 12. mars 2012 kl. 15:37.