language system на прост php сайт

bg.php
Код:
<?php
$hello = "Здравейте";
?>

en.php
Код:
<?php
$hello = "Hello";
?>



файлат в който се използва езика
Код:
<?php
echo "$hello";
?>
 
mute каза:
всъщност в скрипта които сам дал сесията се инклудва от файл
странното е че на хостинга неправи проблеми на на апачето на компа излзиа тази грешла

На домашния коп няма да стане.
Освен ако не регнеш един домейн.
 
при мен отново не се получи - аз го качих ето тук: http://www.eg-dobrich.com/etwinning/lang/

резултат обаче няма никакъв.

иначе си мисля, че файловете ми са верни...

home.php
Код:
<?php
include('session.php');
?>
<?php
echo "$hello";
?>
<a href="lang.php?lang=en">EN</a> / <a href="lang.php?lang=bg">BG</a>

session.php
Код:
<?php
session_start();
if(isset ($_SESSION['lang'])){$_SESSION['lang']=$lang;}
switch ($lang){
case en: include('en.php');break;
case bg; include('bg.php');break;
}
?>

en.php
Код:
<?php
$hello = "Hello";
?>

bg.php
Код:
<?php
$hello = "Çäðàâåéòå";
?>

lang.php
Код:
<?php
session_start();
$lang=$_GET['lang'];
switch ($lang){
	case en: $_SESSION['lang']='en';break;
	case bg: $_SESSION['lang']='bg';break;
	default: $_SESSION['lang']='bg';
}
$refe=getenv("HTTP_REFERER");
header("Location: $refe");
?>
 
Ама , че сложнотия.

Искам само session.php да промениш на това:

Код:
<?
session_start();

if (!isset ($_GET['lang']))
{
if(isset($_SESSION['lang'])){
$lang=$_SESSION['lang'];
}
else
{
$lang='bg';
}
}
else
{
$lang = $_GET['lang'];

}


if ($lang=='bg')
{
$_SESSION['lang'] = 'bg';
require('en.php');
}
else
{
$_SESSION['lang'] = 'en';
require('bg.php');
}

$_SESSION['lang']=$lang;

?>

Файла lang.php не ти трябва.
 
Забравих да кажа:
home.php трябва линковете да водят към текущия файл:



Код:
 <?php
include('session.php');
?>
<?php
echo "$hello";
?>
<a href="?lang=en">EN</a> / <a href="?lang=bg">BG</a>
 
благодаря на всички - получи се още преди два дни, но нямах време да пиша... :) :)

сега почвам да пиша кода да които си мислех от индекса и да видя как ще нагодя текста на български и на английски + бутоните на различните езици...обсмислям един include left.php, което да ми е менюто и може би един right...ще видим...благодаря засега, ако има нещо пак ще се засичаме.
 
мисля, че се справям със синхранизирането и няма да имам проблеми...нахвърлих една талбичка и няколко текста от рода на

$hello = " някакъв текст ... ";
$header = " <img src="img.jpg" width="100" height="100"> ";
$right = " дясна част на сайта ми ... ";
$footer = " долна част на сайта ми ... ";


сега обаче питам как мога да вмъкна изображение...защото когато просто добавя <img src="img.jpg" width="100" height="100"> м/у кавичките при променливите ми изписва грешка, а съм убеден, че може да се получи...
поне така твърдят в phpbuilder, чийто пример междодругото незнайно защо не ми се получи..както и да e.
This idea can be extended to images as well because any image with text on it would also need translated. Just define the imgsrc of each image in your included file as well.

така примерно бих искал да наредя изображения към текста от $hello...бих искал да мога да променя хедъра с различен текст за съответния език в $header. това е правилния подход, нали ?

ако бъркам ме поправяйти с време :)

какъв точно е правилния код за изображения, за да мога да вмъкна такива в en.php и bg.php ? :D
 
как мога да добавя нов език в session.php...пробвах да наредя require('de.php'); , require('fr.php');, require('ru.php'); но не се получи...


Код:
<?
session_start();

if (!isset ($_GET['lang']))
{
if(isset($_SESSION['lang'])){
$lang=$_SESSION['lang'];
}
else
{
$lang='en';
}
}
else
{
$lang = $_GET['lang'];

}


if ($lang=='en')
{
$_SESSION['lang'] = 'en';
require('en.php');
}
else
{
$_SESSION['lang'] = 'bg';
require('bg.php');
}

$_SESSION['lang']=$lang;

?>
 
if ($lang=='en')
{
$_SESSION['lang'] = 'en';
require('en.php');
}
else
{
$_SESSION['lang'] = 'bg';
require('bg.php');
}
elseif
{
$_SESSION['lang'] = 'fr';
require('fr.php');
}
elseif
{
$_SESSION['lang'] = 'it';
require('it.php');
}
 
jooorooo каза:
if ($lang=='en')
{
$_SESSION['lang'] = 'en';
require('en.php');
}
else
{
$_SESSION['lang'] = 'bg';
require('bg.php');
}
elseif
{
$_SESSION['lang'] = 'fr';
require('fr.php');
}
elseif
{
$_SESSION['lang'] = 'it';
require('it.php');
}

не бих казал

Parse error: syntax error, unexpected T_ELSE in /home/egdob/public_html/etwinning/lang/session.php on line 31
 
що не ползвате switch
по-лесно и удобно е
switch ($lang)
{
case 'bg' :
require('bg.php');
break;
case 'en' :
require('en.php');
break;
case 'fr' :
require('fr.php');
break;
case 'it' :
require('it.php');
break;
default:
require('bg.php');
}

нещо такова..
 

Back
Горе