Здравейте за много езичност преди време гледах този скрипт:
index.php
language.php
bg.php
en.php
Обаче не искам да е в този му вид, а за всеки файл да си има отделен превод. Примерно всеки език си има дадена папка, bg за български, en за английски и т.н.. И примерно когато избера английски да ми е езика по подразбиране пак да се записва в бисквитка, но при посещение на mysite.com/index.php да тегли превода от mysite.com/en/index.php, a примерно ако съм в mysite.com/account.php да си взима превода от mysite.com/en/account.php ...
Поздрави!
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 ...
Поздрави!