ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

18.08.2008, 16:14
|
|
Участник форума
Регистрация: 25.07.2008
Сообщений: 110
Провел на форуме: 242057
Репутация:
42
|
|
Незнаю как это обьяснить но нужно сделать многоязычный сайт. Есть ли у кого скрипт? Смотрел примеры делал но что-то не выходит...
|
|
|

18.08.2008, 16:21
|
|
Banned
Регистрация: 04.06.2008
Сообщений: 402
Провел на форуме: 2267346
Репутация:
719
|
|
Сообщение от Хацкер
Незнаю как это обьяснить но нужно сделать многоязычный сайт. Есть ли у кого скрипт? Смотрел примеры делал но что-то не выходит...
пришло в голову это.
PHP код:
<?php
$lan = $_GET['lang'];
if ($lan == 1) echo '<html>русиш лэнгвидж (текст на русском)</html>';
if ($lan == 2) echo '<html>инглиш лэнгвидж (текст на английском)</html>';
if ($lan == 3) echo '<html>падонаг лэнгвидж (текст на падонкаффском =) )</html>';
?>
доработай, может понравится
|
|
|

18.08.2008, 16:26
|
|
Участник форума
Регистрация: 25.07.2008
Сообщений: 110
Провел на форуме: 242057
Репутация:
42
|
|
Да это конечно просто, но всеже мне нужно каждое слово делать. типа выбор языка пользователем, куки придеться применить, и еще например вывод слова как $lang[0] у меня есть такой пример только неработает чтото щас найду выложу...
|
|
|

18.08.2008, 16:28
|
|
Участник форума
Регистрация: 25.07.2008
Сообщений: 110
Провел на форуме: 242057
Репутация:
42
|
|
PHP код:
if(empty($lang)) $lang = 'ru';
if (!empty($_POST['lang']))
{
$lang1 = basename($_POST['lang']);
if(($lang1 != $lang) && is_file('lang/'.$lang1.'.php')) $lang = $lang1;
@setcookie("lang", $lang, time()+333333333);
refresh();
}
if (!empty($_COOKIE['lang']))
{
$lang1 = basename($_COOKIE['lang']);
if(($lang1 != $lang) && is_file('lang/'.$lang1.'.php')) $lang = $lang1;
}
include('lang/'.$lang.'.php');
if(substr_count($_SERVER['REQUEST_URI'], '/')>1 && ereg('set=',$_SERVER['REQUEST_URI']))
{
header('LOCATION: http://'.$HTTP_SERVER_VARS['HTTP_HOST'].'/?'.strstr($_SERVER['REQUEST_URI'], 'set=')); exit;
}
В папке lang файлы ru.php en.php в файл содержания типа
$lang[1] = "1";
$lang[2] = "2";
$lang[3] = "3";
Почему не работает незнаю....
|
|
|

18.08.2008, 16:32
|
|
Участник форума
Регистрация: 06.06.2008
Сообщений: 162
Провел на форуме: 3942177
Репутация:
244
|
|
Сообщение от Хацкер
Незнаю как это обьяснить но нужно сделать многоязычный сайт. Есть ли у кого скрипт? Смотрел примеры делал но что-то не выходит...
Пример:
/lang/en.php:
PHP код:
<?php
$lng['title'] = 'Main page';
$lng['hello'] = 'Welcome';
?>
/lang/ru.php:
PHP код:
<?php
$lng['title'] = 'Главная страница';
$lng['hello'] = 'Добро пожаловать';
?>
index.php:
PHP код:
<?php
error_reporting('0');
if($_GET['l']=='ru'){ $language = 'ru'; } else { $language = 'en'; }
include('./lang/'.$language.'.php');
?>
<html>
<head>
<title><?=$lng['title']?></title>
</head>
<body>
<h1><?=$lng['hello']?></h1>
</body>
</html>
То есть в индексе инклудится языковой файл, index.php?l=ru — значение передается в get-запросе, можно и в куках.
Этот код уязвим php-incl, но думаю смысл понятен.
|
|
|

18.08.2008, 16:35
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Сообщение от Хацкер
Незнаю как это обьяснить но нужно сделать многоязычный сайт. Есть ли у кого скрипт? Смотрел примеры делал но что-то не выходит...
Ну как вариант писать в куку язык, а потом в самом главном файле проверять эту куку и грузить шаблон с выбранным языком.
Типо так:
PHP код:
<?php
#Страница выбора языка
$arr = array(
0, //ru (default)
1, //en
2 //ukr
);
$lang = 1; //Выбираем англ к примеру
setcookie('lang', $arr[$lang]);
#Самый главный файл
$lang = !empty($_COOKIE['lang']) && is_numeric($_COOKIE['lang'])) ? $_COOKIE['lang'] : '';
if($lang == 1){
require_once('template_en.tpl');
}elseif($lang == 2){
require_once('template_ukr.tpl');
}else{
#Грузим дефолтовый
require_once('template_ru.tpl');
}
?>
Вместо множества if-ов можно к примеру проверять правильность куки через array_key_exists() к примеру...
|
|
|

18.08.2008, 16:38
|
|
Участник форума
Регистрация: 25.07.2008
Сообщений: 110
Провел на форуме: 242057
Репутация:
42
|
|
Сообщение от .:EnoT:.
Ну как вариант писать в куку язык, а потом в самом главном файле проверять эту куку и грузить шаблон с выбранным языком.
Типо так:
PHP код:
<?php
#Страница выбора языка
$arr = array(
0, //ru (default)
1, //en
2 //ukr
);
$lang = 1; //Выбираем англ к примеру
setcookie('lang', $arr[$lang]);
#Самый главный файл
$lang = !empty($_COOKIE['lang']) && is_numeric($_COOKIE['lang'])) ? $_COOKIE['lang'] : '';
if($lang == 1){
require_once('template_en.tpl');
}elseif($lang == 2){
require_once('template_ukr.tpl');
}else{
#Грузим дефолтовый
require_once('template_ru.tpl');
}
?>
Вместо множества if-ов можно к примеру проверять правильность куки через array_key_exists() к примеру...
а в tpl типа вся страничка?
|
|
|

18.08.2008, 16:41
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Сообщение от Хацкер
а в tpl типа вся страничка?
Ну да, подразумевается что это шаблон.
если я правильно понял то ты собираешься без шаблонов всё это делать....имхо это будет очень большое извращенство...легче взять шаблон, перевести его на множество языков и юзать в зависимости от указанного юзером языка 
|
|
|

18.08.2008, 16:48
|
|
Участник форума
Регистрация: 25.07.2008
Сообщений: 110
Провел на форуме: 242057
Репутация:
42
|
|
Сообщение от .:EnoT:.
Ну да, подразумевается что это шаблон.
если я правильно понял то ты собираешься без шаблонов всё это делать....имхо это будет очень большое извращенство...легче взять шаблон, перевести его на множество языков и юзать в зависимости от указанного юзером языка 
Да ты прав это плюс к тому что можно картинки на инглиш сделать)
|
|
|

18.08.2008, 18:19
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
#Wolf#, примерно вот так:
PHP код:
$file_text=file_get_contents ("file.txt");
$file_text=str_replace($str,"",$file_text);
$file=fopen("file.txt","w+");
fwrite($file,$file_text);
fclose($file);
Это скрипт замены повторов.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|