Как зделать неско языков у скрипта не делая все его файлы на другом языке.
Мож можна в одном файле написать весь перевод?
Как лучше,кто что посоветует?)
haos, тексты вынеси в массив или в объект или в xml-файл или в другой удобный тебе формат.
И подключай/парси файл, в котором есть нужная в данный момент локализация.
Ставим задачу - сделать наш сайт понятным для других иностранных пользователей. Для этого нам потребуется сделать несколько несложных действий.
Пусть у нас ленгпаки(языки) хранятся в папке /lang/
Языковые файлы вида ru.php, en.php, de.php...
Примерный состав файла ru.php:
<?php
// by DarveL
// ru.php
$lang['reg'] = 'Регистрация';
$lang['exit'] = 'Выход';
$lang['hello'] = 'Привет мир!';
?>
Примерный состав файла en.php:
<?php
// by DarveL
// en.php
$lang['reg'] = 'Registration';
$lang['exit'] = 'Exit';
$lang['hello'] = 'Hello world!';
?>
Теперь просканируем директорию на наличие языковых пакетов и выставим пользователю в соответствии с этим языковой пакет.
$mas = scandir($_SERVER['DOCUMENT_ROOT'].'/lang/'); // тут массив
// если данные есть в куках или сессии
if(!isset($_SESSION['lang']) or !in_array($_SESSION['lang'].'.php', $mas))
{
if(isset($_COOKIE['lang']) and in_array($_COOKIE['lang'].'.php', $mas))
{
$lang = $_COOKIE['lang'];
}
else{
// можно записать данные например в куки
setcookie("lang", $lang, time()+3600*60*24*30, "/", "example.com");
if(!preg_match("/[?a-zA-Z0-9]*/", $_POST['lang'])) $_POST['lang'] = 'ru'
/ для тех, у кого фобии
if(in_array($_POST['lang'].'.php', $mas)) $lang = $_POST['lang'];
else $lang = 'ru'; // по умолчанию
}
$_SESSION['lang'] = $lang; запишем ему в сессию это значение
// и теперь в любом месте можем подключать
// например так
}
include_once $_SERVER['DOCUMENT_ROOT'].'/lang/'.$_SESSION['lang'].'.php';
Для выбора языка делаете простую html форму, тут легко сообразить.
Способ применения:
echo $lang['hello'].'';
echo 'Вы можете кликнуть сюда: '.$lang['reg'].'';
----------------------
http://wapstory.org/blogs/webcoding/90
------------------------
Я прочитал и делаю именно так 
WMS_ITACHI, скандир только лишнее. Это нужно делать один раз, при добавлении/удалении пака
08 Янв 2011, 19:03