[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать мультиязычный сайт?
AquaGen
Сабж. Всмысле щас пишу CMS и мне нужно, чтобы некоторые надписи в зависимости от языка были типа hello или привет.
главный вопрос как хранить надписи (в файлах?) и как подгружать? чтобы меньше ресурсов расходовать



Спустя 11 минут, 44 секунды (11.09.2011 - 16:08) Winston написал(а):
Я надписи храню в файлах ini

Например ru.ini
hello = 'Привет';
guest = 'Привет гость';

en.ini
hello = 'Hello';
guest = 'Hello guest';

Потом например в настройках выбираем язык
$lang = 'ru';

Ну и оформи функцию, чтобы было удобно доставать надписи
function getLang($string, $lang)
{
$file = 'lang/' . $lang . '.ini'; // Путь к файлу надписей. Например ru.ini, en.ini и т.д.
if(file_exists($file))
{
$file = parse_ini_file($file); // Парсим файл с надпиями
if(array_key_exists($string, $file)) // Если есть строка в массиве значит выводим ее
return $file[$string];
else
return
'Я зыковой параметр не найден !';
}
}


echo getLang('guest', $lang); // В зависимости от языка выведет Hello Guest или Привет гость

Спустя 45 секунд (11.09.2011 - 16:09) TranceIT написал(а):
en.php

define ("HELLO", "Hello user");


ru.php

define ("HELLO", "Привет дятел!");


index.php



include $lang . '.php';

echo HELLO;


В зависимости от переменной $lang инклудим нужный язык.

Устанавливаем дефолтное значение например ru. Если пользователь выбирает другой язык пихаем выбор в куки или в базу.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.