Мультиязычность

Статус
В этой теме нельзя размещать новые ответы.

shamantc

ЗлОй ШаМан
Заблокирован
Регистрация
3 Ноя 2008
Сообщения
651
Реакции
188
  • Автор темы
  • Заблокирован
  • #1
Как можно сделать, несколько языков, например щас вс записанно в разные файлы, хотелось бы что бы была папка lang а в ней файл lang.php а в файлах я мог прописывать
lang_1="Введите пароль";
lang_2="Введите логин";
Ну в общем сть понятно как это можно организовать?
 
Через базу данных, либо кукисы ( но 1 вариант - лучше ).
 
  • Автор темы
  • Заблокирован
  • #3
Можно подробнее?
 
Например в базе данных хранить массив с разными языками. И уже по надобности вытаскиваешь нужный массив. Для хранения массивов в БД используй функцию serialize() и unserialize() {PHP}

Если использовать ланг-файлы — то подключать соответственно нужный файл.
а выглядеть должно приблизительно так:
на любой вывод текста должна идти переменная из ланг-файла.

tarantas написал(а):
Через базу данных, либо кукисы ( но 1 вариант - лучше ).
Тарантас тебя не так понял. Он имел ввиду, что предпочтительный язык юзера хранить в БД, но можно и в кукисах.
 
  • Автор темы
  • Заблокирован
  • #5
Ну создам я lang файл и во всх остальных файлах внутри напишу Lang_1=... и т.д.
какого должно быть соержание lang файла и как он будет подключаться к сайту ну смысле как бует dtmc пицип работы, можно более подробно желательно в примерах как это должно выглядить
 
создаешь файл к примеру russian.lang, загоняешь туда контент по такому правилу:

PHP:
<?
define ("_LANG_SITE_YES", "Да");
define ("_LANG_SITE_NO", "Нет");
...
и так далее
?>

потом заисываешь это дело в сессию примерно так:

PHP:
if (!file_exists(_BASE_PATH."languages/".$session->get("language").".lang"))
{
 print"язык (".$session->get("language").") не грузится!";   
}
else
{
$session->set("language", _SITE_LANGUAGE);
define("_LANGUAGE", $session->get("language"));
}

потом иклудишь файл с языком:
PHP:
include("languages/"._LANGUAGE.".lang");

вот как то так)
 
как вариант, создаешь массив $lang и разные файлы языковые в которых
PHP:
$lang['username'] = 'userName';
$lang['password'] = 'password';
и далее по логике инклюдим нужный файл.
настройку языка для юзера храним в сессии и если надо в базе и потом из базы в сессию опять
нагружать базу языками не очень приемлемо для нагрузки
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху