Многоезичност...

t0m3kk

Registered
Здравейте за много езичност преди време гледах този скрипт:

index.php
Код:
<?php
require_once 'language.php';
?>
<html>
<head>
<title><?= $text['title'] ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
<p><?= $text['quiz'] ?></p>
<p><?= $text['answer'] ?></p>
<p><?= switch_language_options(); ?></p>
</body>
</html>

language.php
Код:
<?php
$languages = array('bg' => 'Bulgarian',
'en' => 'English');

if (isset($_GET['lang'])) {
$lang = $_GET['lang'];

setcookie('lang', $lang, time()+(3600*24*365));
}
elseif (isset($_COOKIE['lang'])) {
$lang = $_COOKIE['lang'];
} else {
$lang = 'bg';
}
if (!(in_array($lang, array_keys($languages)))) {
die("Грешка: няма езиков файл!");
}
require_once "{$lang}.php";
function switch_language_options() {
global $text, $languages, $lang;
$retval = $text['switch'];
$get = $_GET;
foreach ($languages as $abbrv => $name) {
if ($abbrv !== $lang) {
$get['lang'] = $abbrv;
$url = $_SERVER['PHP_SELF'] . '?' .
http_build_query($get);
$retval .= " <a href=\"{$url}\">
{$name}</a>";
}
}
return $retval;
}
?>

bg.php
Код:
<?php
/*----- всички текстове в сайта на български език -----*/
$GLOBALS['text'] = array (
'title' => 'Начало!',
'quiz' => 'К\'фо правиш?',
'answer' => 'Нищо.'
);

/*----- всички снимки в сайта на български език -----*/
$GLOBALS['imgsrc'] = array (
'image1' => 'graphics/title-bg.jpg',
'footer' => 'graphics/footer-bg.jpg'
);
?>

en.php
Код:
<?php
/*----- всички текстове в сайта на английски език -----*/
$GLOBALS['text'] = array (
'title' => 'Home!',
'quiz' => 'What are u doing?',
'answer' => 'Nothing.'
);

/*----- всички снимки в сайта на английски език -----*/
$GLOBALS['imgsrc'] = array (
'image1' => 'graphics/title-en.jpg',
'footer' => 'graphics/footer-en.jpg'
);
?>

Обаче не искам да е в този му вид, а за всеки файл да си има отделен превод. Примерно всеки език си има дадена папка, bg за български, en за английски и т.н.. И примерно когато избера английски да ми е езика по подразбиране пак да се записва в бисквитка, но при посещение на mysite.com/index.php да тегли превода от mysite.com/en/index.php, a примерно ако съм в mysite.com/account.php да си взима превода от mysite.com/en/account.php ...

Поздрави!
 
Направи си една проверка в index.php
$lang = (isset($_COOKIE['language']) && $_COOKIE['language'] == "en") ? "/en/" : "/bg/";
include_once($lang."index.php");
 

Back
Горе